ESP32 Switch ON/OFF
Switch ON/OFF hay toggle switch có hai trạng thái: ON (đóng) và OFF (mở). Mỗi lần nhấn switch, trạng thái sẽ chuyển đổi giữa ON và OFF và giữ nguyên trạng thái đó ngay cả khi thả tay ra. Tutorial này sẽ hướng dẫn bạn cách sử dụng switch ON/OFF với vi điều khiển ESP32.

Điều quan trọng cần lưu ý là switch ON/OFF khác biệt với các loại sau và không nên nhầm lẫ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 | × | Dây Cáp | ||
| 1 | × | Switch ON/OFF Vuông | ||
| 1 | × | (Thay thế) Switch ON/OFF Tròn | ||
| 1 | × | Alternatively, On/Off Switch Module | ||
| 1 | × | (Tùy chọn) DC Power Jack | ||
| 1 | × | breadboard | ||
| 1 | × | dây jumper | ||
| 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ề Switch ON/OFF
Switch ON/OFF là một công tắc khi nhấn sẽ thay đổi trạng thái giữa ON và OFF, và giữ nguyên trạng thái đó ngay cả khi thả tay ra. Để thay đổi trạng thái lần nữa, switch phải được nhấn lại.
Sơ Đồ Chân
Thường có hai loại Switch ON/OFF, loại hai chân và loại ba chân. Tutorial này sẽ tập trung vào việc sử dụng switch hai chân, trong đó không cần phân biệt giữa hai chân.

Cách Hoạt Động
Có hai phương pháp để sử dụng switch ON/OFF. Bảng dưới đây minh họa cách đấu nối và đọc trạng thái trên ESP32 cho mỗi phương pháp:
| chân 1 | chân 2 | Trạng Thái ESP32 Input Pin | |
|---|---|---|---|
| 1 | GND | ESP32 Input Pin (với pull-up) | HIGH ⇒ OFF, LOW ⇒ ON |
| 2 | VCC | ESP32 Input Pin (với pull-down) | HIGH ⇒ ON, LOW ⇒ OFF |
Trong hai phương pháp, tutorial sẽ tập trung vào một phương pháp, cụ thể là phương pháp đầu tiên sẽ được sử dụng làm ví dụ.
Sơ Đồ Đấu Nối
- Cách kết nối ESP32 và switch sử dụng breadboard

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.
- Cách kết nối ESP32 và switch sử dụng screw terminal block breakout board

Để kết nối đấu dây ổn định và chắc chắn, chúng tôi khuyên bạn nên hàn các dây và chân của switch ON/OFF lại với nhau, sau đó sử dụng để đảm bảo an toàn.
Để có kết nối ổn định và an toàn, khuyến nghị sử dụng mỏ hàn để hàn các dây và chân Switch ON/OFF lại với nhau, sau đó sử dụng ống co nhiệt để tăng thêm tính an toàn.
Code ESP32 - Switch ON/OFF
Giống như button, switch ON/OFF cũng cần được debounced (Xem thêm tại ). Debouncing làm code phức tạp hơn. May mắn thay, library này hỗ trợ chức năng debouncing. Library cũng sử dụng internal pull-up register. Điều này giúp chúng ta lập trình dễ dàng hơn.
Tương tự như button, switch ON/OFF cũng yêu cầu debouncing (thêm thông tin có thể tìm thấy tại Tại sao cần debounce cho button, switch ON/OFF?). Debouncing có thể làm code phức tạp hơn. May mắn thay, thư viện ezButton cung cấp chức năng debouncing và sử dụng internal pull-up register, giúp việc lập trình dễ dàng hơn.
※ Lưu ý:
Hai trường hợp sử dụng phổ biến cho switch ON/OFF:
- Trường hợp đầu tiên: Nếu switch ở trạng thái ON, thực hiện một hành động nhất định. Nếu trạng thái input là OFF, thực hiện hành động ngược lại.
- Trường hợp thứ hai: Nếu trạng thái switch thay đổi từ ON sang OFF (hoặc OFF sang ON), thực hiện một hành động cụ thể.
Các Bước Thực Hiện
- Làm theo sơ đồ đấu nối được cung cấp ở trên để kết nối switch ON/OFF với ESP32.
- Kết nối ESP32 của bạn với PC sử dụng cáp USB.
- Mở phần mềm Arduino IDE.
- Cài đặt thư viện ezButton. Tham khảo hướng dẫn
- Chọn board và port thích hợp trong Arduino IDE.
- Compile và upload code lên board ESP32 bằng cách nhấn nút Upload trong Arduino IDE.
- Kiểm tra switch ON/OFF bằng cách chuyển nó sang ON.
- Quan sát kết quả trên Serial Monitor trong Arduino IDE.
- Chuyển switch sang OFF.
- Quan sát kết quả trên Serial Monitor trong Arduino IDE.
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.