Hướng dẫn này sẽ đưa bạn qua dự án ESP32 đầu tiên của mình: làm nhấp nháy một đèn LED! Dự án có vẻ đơn giản này là nền tảng để hiểu về giao tiếp phần cứng và lập trình vi điều khiển. Nó đặt nền móng cho các dự án IoT phức tạp hơn. Dưới đây là một số ý tưởng để mở rộng dự án này:
Tạo một đèn ngủ đơn giản với độ sáng có thể điều chỉnh.
Xây dựng một chỉ báo trực quan cho kết quả đọc cảm biến (ví dụ: nhiệt độ, độ ẩm).
Thiết kế một hệ thống báo động cơ bản sử dụng đèn LED làm chỉ báo.
Tích hợp đèn LED vào một dự án IoT lớn hơn, chẳng hạn như hệ thống nhà thông minh.
Phần cứng/Linh kiện
Để hoàn thành dự án này, bạn sẽ cần các linh kiện sau (trong video ở phút 00:35):
Vi điều khiển ESP32 (ví dụ: từ Bộ học tập IoT ESP32 của SunFounder).
Đèn LED (Điốt phát quang).
Điện trở 220 ohm.
Bảng mạch breadboard.
Dây cắm jumper.
ESP32, với Wi-Fi và Bluetooth tích hợp, cung cấp các khả năng mở rộng vượt xa một Arduino Uno tiêu chuẩn (trong video ở phút 00:47).
Hướng dẫn đấu dây
Việc đấu dây khá đơn giản. (trong video ở phút 20:34) Kết nối chân dài hơn (cực dương) của đèn LED với thanh nguồn dương của breadboard. Kết nối chân ngắn hơn (cực âm) của đèn LED với một đầu của điện trở 220 ohm. Kết nối đầu còn lại của điện trở với một chân kỹ thuật số trên ESP32 của bạn (chân 26 trong ví dụ này). Cuối cùng, kết nối dây nối đất từ breadboard với chân GND của ESP32. Một bộ chia điện áp là cần thiết để ngăn ngừa hư hỏng đèn LED. Điện trở giới hạn dòng điện chạy qua đèn LED, đảm bảo nó không vượt quá định mức tối đa (trong video ở phút 07:27).
%%WIRING%%
Giải thích mã
Mã Arduino khá đơn giản. Các phần chính là:
//số của chân LED
const int ledPin = 9; // Chân do người dùng xác định cho đèn LED (trong video ở phút 25:37)
void setup() {
pinMode(ledPin, OUTPUT); // Đặt chân LED làm đầu ra (trong video ở phút 26:23)
}
void loop() {
digitalWrite(ledPin, HIGH); // Bật đèn LED (trong video ở phút 27:08)
delay(500); // Chờ nửa giây (trong video ở phút 28:30)
digitalWrite(ledPin, LOW); // Tắt đèn LED (trong video ở phút 28:30)
delay(500); // Chờ nửa giây (trong video ở phút 28:30)
}
Hằng số ledPin xác định chân kỹ thuật số nào mà đèn LED được kết nối. Bạn có thể thay đổi giá trị này để phù hợp với cách đấu dây của mình. Hàm setup() khởi tạo chế độ chân. Hàm loop() liên tục bật và tắt đèn LED với độ trễ 500ms. Bạn có thể điều chỉnh các giá trị độ trễ (tính bằng mili giây) để thay đổi tốc độ nhấp nháy (trong video ở phút 31:56).
Dự án trực tiếp/Minh họa
Video trình bày toàn bộ quá trình, từ đấu dây đến tải mã và thực thi (trong video ở phút 29:16). Giảng viên hướng dẫn cách kiểm tra kết nối bằng chân 3.3V, đảm bảo việc đấu dây chính xác trước khi kết nối với chân ESP32 được chỉ định (trong video ở phút 21:39). Video cũng nhấn mạnh việc sử dụng Arduino IDE, hướng dẫn cách chọn bo mạch và tải mã lên (trong video ở phút 30:01).
//the number of the LED pin
const int ledPin = 9;
void setup()
{
//initialize the digital pin as an output
pinMode(ledPin,OUTPUT);
}
//the loop routine runs over and over again forever
void loop()
{
digitalWrite(ledPin,HIGH);//turn the LED on
delay(500); //wait for half a second
digitalWrite(ledPin,LOW); //turn the LED off
delay(500); //wait for half a second
}
/*************************************************/
Tiết lộ: Là một đối tác của Amazon, chúng tôi kiếm tiền từ các giao dịch đủ điều kiện. Điều này có nghĩa là chúng tôi có thể nhận được một khoản hoa hồng nhỏ nếu bạn nhấp vào liên kết và thực hiện một giao dịch mà không tốn thêm chi phí nào cho bạn.