Phần 3: Lập trình với Arduino IDE
1. Cài đặt Arduino IDE và thư viện cần thiết. 2. Cấu trúc cơ bản của chương trình Arduino. 3. Viết code cho nút nhấn sử dụng pull-up. 4. Viết code cho nút nhấn sử dụng pull-down. 5. Cách đọc trạng thái của nút nhấn và in ra Serial Monitor.
Phần 3: Lập trình với Arduino IDE
1. Cài đặt Arduino IDE và thư viện cần thiết
Để bắt đầu lập trình cho dự án IoT của bạn, bước đầu tiên là cài đặt Arduino IDE. Đây là phần mềm miễn phí cho phép bạn viết mã, biên dịch và tải lên các board Arduino hoặc ESP32.
- Truy cập trang web chính thức của Arduino tại https://www.arduino.cc/en/software.
- Tải xuống phiên bản phù hợp với hệ điều hành của bạn (Windows, macOS, Linux).
- Giải nén và cài đặt theo hướng dẫn trên màn hình.
- Mở Arduino IDE và kiểm tra xem nó có nhận diện board của bạn không. Nếu chưa, bạn cần cài đặt driver cho board.
Để lập trình cho ESP32, bạn cần thêm thư viện ESP32 vào Arduino IDE:
- Vào menu File > Preferences.
- Trong ô Additional Boards Manager URLs, thêm đường dẫn sau:
https://dl.espressif.com/dl/package_esp32_index.json. - Vào menu Tools > Board > Boards Manager, tìm kiếm ESP32 và cài đặt.
2. Cấu trúc cơ bản của chương trình Arduino
Mỗi chương trình Arduino (hay còn gọi là sketch) thường bao gồm hai phần chính: setup() và loop().
- setup(): Chạy một lần khi board được khởi động. Ở đây bạn sẽ thiết lập các thông số như pin mode.
- loop(): Chạy liên tục sau khi setup() đã hoàn tất. Đây là nơi bạn đặt mã để thực hiện các nhiệm vụ liên tục.
Dưới đây là mẫu cấu trúc cơ bản của một chương trình Arduino:
void setup() {
// Thiết lập các tham số ban đầu
}
void loop() {
// Các lệnh sẽ chạy liên tục
}
3. Viết code cho nút nhấn sử dụng pull-up
Chúng ta sẽ bắt đầu với cách sử dụng pull-up resistor. Điều này giúp giữ cho trạng thái của pin ở mức cao (HIGH) khi không có tín hiệu từ nút nhấn.
Giả sử bạn kết nối nút nhấn với pin 2 của board Arduino, và sử dụng một resistor 10kΩ để kéo lên.
const int buttonPin = 2; // Pin kết nối với nút nhấn
int buttonState = 0; // Biến lưu trữ trạng thái nút nhấn
void setup() {
pinMode(buttonPin, INPUT_PULLUP); // Thiết lập pin làm đầu vào với pull-up
Serial.begin(9600); // Khởi động giao tiếp Serial
}
void loop() {
buttonState = digitalRead(buttonPin); // Đọc trạng thái của nút nhấn
if (buttonState == LOW) { // Nếu nút nhấn được nhấn
Serial.println("Nút nhấn được nhấn!");
}
delay(100); // Delay 100ms để tránh nhiễu
}
4. Viết code cho nút nhấn sử dụng pull-down
Tiếp theo, chúng ta sẽ sử dụng pull-down resistor. Điều này giúp giữ cho trạng thái của pin ở mức thấp (LOW) khi không có tín hiệu từ nút nhấn.
Giả sử bạn kết nối nút nhấn với pin 2 của board Arduino, và sử dụng một resistor 10kΩ để kéo xuống.
const int buttonPin = 2; // Pin kết nối với nút nhấn
int buttonState = 0; // Biến lưu trữ trạng thái nút nhấn
void setup() {
pinMode(buttonPin, INPUT); // Thiết lập pin làm đầu vào
Serial.begin(9600); // Khởi động giao tiếp Serial
}
void loop() {
buttonState = digitalRead(buttonPin); // Đọc trạng thái của nút nhấn
if (buttonState == HIGH) { // Nếu nút nhấn được nhấn
Serial.println("Nút nhấn được nhấn!");
}
delay(100); // Delay 100ms để tránh nhiễu
}
5. Cách đọc trạng thái của nút nhấn và in ra Serial Monitor
Để kiểm tra trạng thái của nút nhấn, bạn cần mở Serial Monitor trong Arduino IDE. Để làm điều này:
- Nhấp vào menu Tools > Serial Monitor hoặc nhấn
Ctrl + Shift + M. - Chọn tốc độ baud rate là 9600 để khớp với tốc độ bạn đã thiết lập trong setup().
Lưu ý: Khi sử dụng pull-up, bạn cần đảm bảo rằng khi nút nhấn không được nhấn, pin phải ở mức HIGH và khi nhấn, pin sẽ xuống mức LOW. Ngược lại với pull-down.
Với các bước trên, bạn đã hoàn thành việc lập trình cho nút nhấn sử dụng pull-up và pull-down trên Arduino. Hãy thử nghiệm và điều chỉnh mã để phù hợp với dự án của bạn!
