ESP32 Nút Nhấn Bật Tắt LED
Hướng dẫn này sẽ chỉ bạn cách sử dụng ESP32 để chuyển đổi trạng thái của LED giữa BẬT và TẮT khi nút nhấn được bấm. Cụ thể:
- Nếu nút nhấn được bấm, bật LED
- Nếu nút nhấn được bấm lần nữa, tắt LED
- Quá trình trên được lặp lại liên tục
Code ESP32 bao gồm code cho nút nhấn bật tắt LED không có và có chống nhiễu (debouncing)
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 | × | Nút Nhấn Cắm Breadboard có Nắp | ||
| 1 | × | Bộ Kit Nút Nhấ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 | ||
| 1 | × | Dây Jumper | ||
| 1 | × | Jack Nguồn DC (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) |
Về LED và Nút Nhấn
Chúng tôi có các hướng dẫn cụ thể về LED và nút nhấn. Mỗi hướng dẫn chứa thông tin chi tiết và hướng dẫn từng bước về pinout phần cứng, nguyên lý hoạt động, kết nối dây với ESP32, code ESP32... Tìm hiểu thêm tại các liên kết sau:
Sơ Đồ Đấu Nối

This image is created using Fritzing. Click to enlarge image
Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.
Code ESP32 - Nút Nhấn Bật Tắt LED Không Có Chống Nhiễu
Các Bước Thực Hiện
- Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Đấu nối theo sơ đồ trên.
- Kết nối board ESP32 với PC qua cáp micro USB
- Mở Arduino IDE trên PC.
- Chọn đúng board ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
- Copy code trên và dán vào Arduino IDE.
- Biên dịch và upload code lên board ESP32 bằng cách nhấn nút Upload trên Arduino IDE
- Giữ nút nhấn trong vài giây rồi thả ra.
- 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ó giải thích từng dòng. Hãy đọc các comment trong code!
Trong code, led_state = !led_state tương đương với code sau:
※ Lưu ý:
Code trên không có code chống nhiễu cho nút nhấn. Không có chống nhiễu cho nút nhấn có thể dẫn đến các hành vi không mong muốn. Xem Tại sao cần chống nhiễu cho nút nhấn. Chống nhiễu cho nút nhấn khá phức tạp đối với người mới bắt đầu. May mắn thay, thư viện ezButton sẽ thực hiện chống nhiễu cho chúng ta.
Code ESP32 - Nút Nhấn Bật Tắt LED Có Chống Nhiễu
Các Bước Thực Hiện
- Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
- Cài đặt thư viện ezButton. Xem Hướng Dẫn
- Copy code trên và dán vào Arduino IDE.
- Biên dịch và upload code lên board ESP32 bằng cách nhấn nút Upload trên Arduino IDE
- Nhấn nút nhấn vài lần
- Quan sát sự thay đổi trạng thái của LED
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.