Hướng dẫn nạp chương trình đơn giản cho Arduino Uno R3

0
335

Trong bài viết này, bạn sẽ được hướng dẫn cách nạp chương trình đơn giản kiểu “Hello world” (điều khiển đèn LED nhấp nháy theo chu kì 1 giây) cho Arduino Uno R3.

Hãy đảm bảo rằng bạn đã cài đặt Arduino IDE và Arduino driver lên máy của mình. Nếu chưa thực hiện điều này, bạn hãy xem hướng dẫn tại bài viết Cài đặt driver và Arduino IDE.

Bạn sẽ cần 3 thứ sau:

  • Arduino IDE 
  • Mạch Arduino UNO R3
  • Dây cáp USB 2 đầu Type A-B

Hãy tuần tự thực hiện theo từng bước theo hướng dẫn sau

Bước 1: Kết nối Arduino UNO R3 vào máy tính

http://k1.arduino.vn/img/2015/05/08/0/1383_123450-1431094058-0-1.png

Bước 2: Tìm cổng kết nối của Arduino Uno R3 với máy tính

Khi Arduino Uno R3 kết nối với máy tính, nó sẽ sử dụng một cổng COM (Communication port – cổng dữ liệu ảo) để máy tính và bo mạch có thể truyền tải dữ liệu qua lại thông qua cổng này. Windows có thể quản lí đến 256 cổng COM. Để tìm được cổng COM đang được sử dụng để máy tính và mạch Arduino UNO R3 giao tiếp với nhau, bạn phải mở chức năng Device Manager của Windows.

Bạn mở cửa sổ Run và gõ lệnh mmc devmgmt.msc.

http://arduino.vn/kImageManager?app=ckeditor%7Csendto%40ckeditor_kImageManagerSendTo%7C&CKEditor=edit-body-und-0-value&CKEditorFuncNum=156&langCode=vi#

Sau đó bấm Enter, cửa sổ Device Manager sẽ hiện lên.

http://k2.arduino.vn/img/2015/05/08/0/1350_882450-1431094164-0-3.png

Mở mục Ports (COM & LPT), bạn sẽ thấy cổng COM Arduino Uno R3 đang kết nối

http://k1.arduino.vn/img/2015/05/08/0/1384_123450-1431094167-0-4.png

Cổng kết nối ở đây là COM3.

Thông thường, trong những lần kết nối tiếp theo, Windows sẽ sử dụng lại cổng COM3 để kết nối nên bạn không cần thực hiện thêm thao tác tìm cổng COM này nữa.

Bước 3: Khởi động Arduino IDE

2015-04-10_16h26_04

Bước 4: Cấu hình phiên làm việc cho Arduino IDE

Vào menu Tools -> Board -> chọn Arduino Uno

http://k3.arduino.vn/img/2015/05/08/0/1330_812450-1431094173-0-6.png

Vào menu Tools -> Serial Port -> chọn cổng Arduino đang kết nối với máy tính. Ở máy của mình là COM3.

http://k1.arduino.vn/img/2015/05/08/0/1385_123450-1431094175-0-7.png

Xác nhận cổng COM của Arduino IDE ở góc dưới cùng bên phải cửa sổ làm việc

Vào menu Tools -> Programmer -> chọn AVR ISP

2015-04-10_16h48_42

Bước 5: Mở và nạp mã nguồn chương trình mẫu

Nạp một chương trình mẫu bằng cách vào menu File -> Examples -> 01.Basics -> chọn Blink. 

http://k1.arduino.vn/img/2015/05/08/0/1386_123450-1431094183-0-10.png

Bạn sẽ thấy Arduino IDE mở một cửa sổ mới chứa mã nguồn Blink. Mã này có chức năng là điều khiển đèn LED màu cam trên mạch Arduino Uno R3 nhấp nháy với chu kì 1 giây.

2015-04-10_16h53_20

Bấm tổ hợp phím Ctrl + U để tải chương trình lên mạch Arduino Uno R3. Bạn sẽ thấy IDE xác nhận đã lập trình thành công như hình dưới.

2015-04-10_16h55_15

Cùng xem kết quả nào.

https://youtube.com/watch?v=8V4VPvGOLUc

Phần khích chưa nào, bạn muốn lập trình Arduino “trên mây” trên chính trình duyệt của bạn không? Tham khảo bài viết Code Arduino trên MÂY, bạn có muốn thử hay không?.

Nguồn:http://arduino.vn/bai-viet/402-huong-dan-nap-chuong-trinh-don-gian-cho-arduino-uno-r3

Bài này chúng ta sẽ tìm hiểu về PWM, các thông số, và cách điều chế chúng trên board Arduino.


I. Sáng dần tắt dần (Fading) LED
Chuẩn bị:

a) Arduino UNO R3
c) LED đơn 5mm
d) Trở vạch 220Ω

F Sơ đồ kết nối:
Chân Anot của LED được nối với chân 6 thông qua trở hạn dòng 220Ω và chân Katot được nối với GND.
[​IMG]


Phương pháp điều chế PWM:
PWM (Pulse Width Modulation) là một kỹ thuật thường được dùng để điều chế điệp áp với một mức xác định. Chúng thường được dùng trong các bộ điều khiển tốc độ đông cơ, điều áp, cách mạch boost, buck, nghịch lưu, điều khiển công suất, …
Trước khi đi sâu hơn vào phần nội dung, mình sẽ giới thiệu cho các bạn một số thuật ngữ liên quan đến PWM.
+) Ton: Là thời gian xung ở mức cao.
+) Toff: Là thời gian xung ở mức thấp.
+) T: Là chu kỳ của xung và T = Ton + Toff.
+) DutyCycle: là % xung tín hiệu ở mức cao Ton so với chu kỳ T:
[​IMG]
[​IMG] ​
Với DutyCycle biết trước, chúng ta có điện áp đầu ra thu được sau khi điều chế là:
[​IMG]
Trong Arduino đã hỗ trợ chúng ta hàm analogWrite() để tạo xung PWM (lưu ý rằng chỉ các chân có ký hiệu ~ mới hỗ trợ hàm này). Với tham số đầu tiên truyền vào là chân chỉ định đề xuất xung, và giá trị độ rộng xung có giá trị từ 0 đến 255 ứng với giá trị từ 0% đến 100%.
[​IMG]

Lưu ý:
 Tần số PWM có thể được điều chỉnh qua các ngắt của vi điều khiển ATmega. Thông số mặc định ở các chân 5, 6 là 1000 Hz và chân 9, 10, 11 là 500Hz.
Dưới đây là chương trình điều khiển LED sáng dần tắt dần.

Chương trình:
Mã:
const int ledPin = 6;

// Chân Arduino nối với LED

void setup()

{ // Cấu hình chân LED là đầu ra

pinMode(ledPin, OUTPUT); }

void loop()

{ // Hiệu ứng LED sáng dần

for (int i = 0; i < 255; i++)

{ // Xuất giá trị PWM ra chân LED

analogWrite(ledPin, i);

// Trễ 5ms delay(5); }

// Chờ 1s để chuyển hiệu ứng delay(1000);

// Hiệu ứng LED tắt dần for (int i = 255; i > 0; i–)

{ // Xuất giá trị PWM ra chân LED analogWrite(ledPin, i);

// Trễ 5ms delay(5); }

// Chờ 1s để chuyển hiệu ứng delay(1000); }


Kết quả:
Quan sát đèn LED chúng ta thấy đèn LED sáng dần, sau khoảng 1s đèn LED tắt dần, và sau 1s đèn lại sáng dần, cứ lặp đi lặp lại như vậy.

II. Điều chỉnh độ sáng LED bằng triết áp
Chuẩn bị:

a) Arduino UNO R3
b) Triết áp đơn 10k
c) LED đơn 5mm
d) Trở vạch 220Ω

Sơ đồ kết nối:
Chân giữa của triết áp được nối với A0, hai chân còn lại được nối với GND và 5V, chân điều khiển LED được nối với chân 6 của Arduino.
[​IMG]

Chương trình:
Mã:
const int potPin = A0; // Chân Arduino nối với chân giữa triết áp

const int ledPin = 6; // Chân Arduino nối với LED

void setup()

{ // Cấu hình chân LED là đầu ra pinMode(ledPin, OUTPUT); }

void loop()

{ // Đọc giá trị ADC tại chân của triết áp

int adcValue = analogRead(potPin);

// Giá trị ADC lớn nhất là 1023, trong khi đó

// giá trị xuất PWM của analogWrite lớn nhất

// là 255, do đó ta phải chia cho 4

analogWrite(ledPin, adcValue/4); }
Kết quả:
Điều chỉnh chiết áp ta thấy cường độ sáng của đèn LED cũng được điều chỉnh theo.
Last edited: 16/8/19
VuPhat.MCA16/8/19

Nguồn:https://mcavn.vn/threads/arduino-c%C6%A1-b%E1%BA%A3n-%C4%90i%E1%BB%81u-ch%E1%BA%BF-%C4%91%E1%BB%99-r%E1%BB%99ng-xung-pwm.43/

LEAVE A REPLY

Please enter your comment!
Please enter your name here