ESP32 Button LED
Hướng dẫn này sẽ chỉ bạn cách sử dụng ESP32 để điều khiển LED dựa trên trạng thái nhấn của button. Cụ thể:
- Nếu button đang được nhấn, ESP32 sẽ bật LED
- Nếu button KHÔNG được nhấn, ESP32 sẽ tắt LED
Chúng tôi cũng có một hướng dẫn khác: ESP32 - Nút Nhấn Bật Tắt LED, trong đó LED sẽ chuyển đổi trạng thái giữa BẬT và TẮT khi button được nhấn.
Phần Cứng Cần Thiết
| 1 | × | mô-đun phát triển ESP-WROOM-32 | ||
| 1 | × | Alternatively, ESP32 Uno-form board | ||
| 1 | × | Alternatively, ESP32 S3 Uno-form board | ||
| 1 | × | Cáp USB Type-C | ||
| 1 | × | Button gắn Breadboard có nắp | ||
| 1 | × | Bộ Kit Button gắn Breadboard | ||
| 1 | × | Nút nhấn gắn Panel | ||
| 1 | × | mô-đun nút nhấn | ||
| 1 | × | LED Kit | ||
| 1 | × | LED (red) | ||
| 1 | × | LED Module | ||
| 1 | × | Điện trở 220 ohm | ||
| 1 | × | breadboard (bo mạch thí nghiệm) | ||
| 1 | × | Dây Jumper | ||
| 1 | × | DC Power Jack (tùy chọn) | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Breakout Expansion Board for ESP32 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP32 |
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Code ESP32
/*
* Mã ESP32 này được phát triển bởi newbiely.vn
* Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc.
* Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập:
* https://newbiely.vn/tutorials/esp32/esp32-button-led
*/
#define BUTTON_PIN 18 // ESP32 pin GPIO18, which connected to button
#define LED_PIN 21 // ESP32 pin GPIO21, which connected to led
// variables will change:
int button_state = 0; // variable for reading the button status
void setup() {
// initialize the LED pin as an output:
pinMode(LED_PIN, OUTPUT);
// initialize the button pin as an pull-up input:
// the pull-up input pin will be HIGH when the button is open and LOW when the button is pressed.
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
void loop() {
// read the state of the button value:
button_state = digitalRead(BUTTON_PIN);
// control LED according to the state of button
if (button_state == LOW) // if button is pressed
digitalWrite(LED_PIN, HIGH); // turn on LED
else // otherwise, button is not pressing
digitalWrite(LED_PIN, LOW); // turn off LED
}
Các Bước Nhanh
- Nếu đây là lần đầu bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Thực hiện kết nối dây như hình ảnh trên.
- Kết nối bo mạch ESP32 với PC của bạn qua cáp micro USB
- Mở Arduino IDE trên PC của bạn.
- Chọn đúng bo mạch ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Sao chép code trên và dán vào Arduino IDE.
- Biên dịch và upload code lên bo mạch ESP32 bằng cách nhấn nút Upload trên Arduino IDE

- Nhấn và giữ nhấn button trong vài giây
- Quan sát sự thay đổi trạng thái của LED
Giải Thích Code Từng Dòng
Code ESP32 ở trên có chứa giải thích từng dòng. Vui lòng đọc các comment trong code!
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.
