Giới thiệu về Arduino Uno
Arduino Uno là một bảng mạch vi điều khiển cỡ nhỏ có 14 chân input/output (6 chân PWM và 6 chân analog), sử dụng chip ATmega328 có 32KB bộ nhớ làm nhân điều khiển, Arduino Uno được thiết kế và phân phối bởi Arduino LLC.
Arduio IDE
Để lập trình cho Board mạch Arduino, cần sử dụng Arduino IDE. IDE hỗ trợ viết code, gọi các hàm cơ bản mà Arduino hỗ trợ và nạp code vào Board mạch, Arduino IDE hỗ trợ ngôn ngữ C/C++.
Hiện thực
Các cài đặt ban đầu
Hiện thực cho đèn LED chớp tắt đơn giản để làm quen với Arduino.
Chuẩn bị:
- 1 đèn LED nhỏ 5V (có thể là LED nhỏ hoặc LED lớn nhưng có điện tải hiệu điện thế là 5V).
- Board Test.
- Dây dẫn Board Test.
- Board mạch Arduino cùng thiết bị hỗ trợ.
Code mẫu chớp tắt LED
void setup() { pinMode(7, OUTPUT); } void loop() { digitalWrite(7, HIGH); delay(500); digitalWrite(7, LOW); delay(500); }
Cắm dây USB nối từ Arduino đến máy tính:
Cấu hình chọn cổng COM đang kết nối từ Arduino đến máy tính và chọn mạch nạp phù hợp (nếu sử dụng Arduino Uno có thể cấu hình tương tự như hình bên dưới - AVRISP mkll).
Chọn đúng Board đang dùng:
Nhấn biểu tượng Vertify và đợi quá trình biên dịch hoàn tất, sau đó nhấn biểu tượng Upload.
- 1 - Verify
- 2 - Upload
Sau khi quá trình upload hoàn tất, ta tiến hành thử nghiệm. Trước tiên rút dây cắm USB từ máy tính ra khỏi Board Arduino - tạm thời ngắt nguồn Board để lắp nối các thiết bị.
Nối các thiết bị như hình bên dưới:
- Nối cực dương đèn LED đến chân số 7 của Board Arduino.
- Nối cực âm đèn LED đến chân GND của Board Arduino.
* Lưu ý: với đèn led, chân dài là cực dương, ta nối cực dương với chân số 7.
Sau khi hoàn tất, nối lại dây USB vào cổng USB của máy tính để cấp nguồn cho Board.
Kết quả
LED mở trong 0.5 giây rồi tắt trong 0.5 giây (chớp tắt).
Giải thích
void setup() { pinMode(7, OUTPUT); } void loop() { digitalWrite(7, HIGH); delay(500); digitalWrite(7, LOW); delay(500); }
Với ứng dụng quan tâm nhiều đến việc “bật/tắt” để hiện thực các tác vụ. Với điện tử hay Arduino, Arduino định nghĩa “bật/tắt” là HIGH
/LOW
.
Khi lập trình cho một chân bất kỳ:
HIGH
đồng nghĩa chân đó có điện 5V.LOW
đồng nghĩa chân đó có điện 0V.
Hàm setup()
Hàm setup()
là hàm được gọi đầu tiên và gọi duy nhất một lần khi chương trình chạy. Vì thế, các câu lệnh cài đặt như pinMode()
, cài đặt giá trị cho biến sẽ nằm trong hàm setup()
.
Hàm loop()
Hàm loop()
là hàm lặp, được gọi liên tục trong quá trình chạy. Khi chương trình chạy đến cuối hàm loop()
và thoát ra, hàm loop()
được gọi lại một lần nữa. Hàm loop()
như trái tim của chương trình, nó được hiện thực để chương trình có thể chạy liên tục không dừng.
Hàm pinMode()
Hàm pinMode()
có 2 vế.
- Vế 1: thể hiện cho chân đang quan tâm, ở đây là chân số 7 tương ứng chân có in số 7 trên Arduino.
- Vế 2: thể hiện cho “kiểu chân” đang cài đặt. Ở đây đang cài đặt kiểu
OUTPUT
.INPUT
: Nếu muốn chân này nhận dữ liệu từ bên ngoài vào.OUTPUT
: Nếu muốn Arduino xuất dữ liệu thông qua chân này.
Do cần Arduino phát tín hiệu cho đèn LED hoạt động nên cài đặt chân số 7 có giá trị OUTPUT
.
Hàm digitalWrite()
Hàm digitalWrite()
có 2 vế:
- Vế 1: Thể hiện chân đang đề cập đến.
- Vế 2: Giá trị muốn gán cho chân đó.
HIGH
: chân sẽ có giá trị 5V hay còn gọi là “có tín hiệu”.LOW
: chân sẽ có giá trị 0V hay còn gọi là “không có tín hiệu”.
Hàm delay()
Hàm delay()
có 1 vế, vế đó thể hiện cho số mili giây mà Arduino sẽ dừng lại.
Để đèn LED chớp tắt, gán cho chân số 7 giá trị HIGH
(mở đèn) rồi chờ 0,5 giây. Sau đó lại gán chân 7 giá trị LOW
(tắt đèn) rồi lại chờ 0,5s. Ứng dụng hàm loop()
, để LED mở rồi tắt 1 lần, khi hết hàm loop()
, hàm loop()
được gọi một lần nữa và đèn sẽ lại mở rồi tắt 1 lần nữa và ... không ngừng lặp lại như vậy.