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 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.

ESP32 on/off switch

Đ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 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.

on/off switch sơ đồ 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
ESP32 on/off switch sơ đồ đấu dây

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.

how to connect ESP32 and switch

Để 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ể.
/* * 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-switch */ #include <ezButton.h> ezButton mySwitch(19); // create ezButton object that attach to ESP32 pin GPIO19 void setup() { Serial.begin(9600); mySwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { mySwitch.loop(); // MUST call the loop() function first if (mySwitch.isPressed()) Serial.println("The switch: OFF -> ON"); if (mySwitch.isReleased()) Serial.println("The switch: ON -> OFF"); int state = mySwitch.getState(); if (state == HIGH) Serial.println("The switch: OFF"); else Serial.println("The switch: ON"); }

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.
COM6
Send
The switch: OFF The switch: OFF The switch: OFF The switch: OFF -> ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON The switch: ON -> OFF The switch: OFF The switch: OFF The switch: OFF
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Bình Luận