ESP32 Limit Switch
Hướng dẫn này sẽ chỉ cho bạn cách sử dụng Limit Switch với ESP32.

Điều quan trọng cần lưu ý là hướng dẫn này cụ thể về việc sử dụng Limit Switch, xin đừng nhầm lẫn với các loại sau:
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 | × | Limit Switch (KW12-3) | ||
| 1 | × | Limit Switch (V-153-1C25) | ||
| 1 | × | Limit Switch (V-155-1C25) | ||
| 1 | × | Limit Switch (V-156-1C25) | ||
| 1 | × | Dây điện | ||
| 1 | × | breadboard | ||
| 1 | × | Dây jumper | ||
| 1 | × | (Tùy chọn) DC Power Jack | ||
| 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ề Limit Switch
Nó được gọi là Limit Switch (công tắc giới hạn) vì chức năng chính của nó là phát hiện vật thể di chuyển đạt đến một giới hạn.
Limit Switch được đặt tên như vậy vì mục đích chính của nó là phát hiện khi một vật thể di chuyển đã đạt đến giới hạn.
Sơ Đồ Chân
Có nhiều loại limit switch khác nhau, nhưng trong số các loại được sử dụng phổ biến nhất là KW12-3 và V-156-1C25. Mỗi loại này đều có ba chân:
- Chân C: Đây là chân chung (common pin), được sử dụng trong cả chế độ thường mở và thường đóng.
- Chân NO: Đây là chân thường mở (normally open), được sử dụng trong chế độ thường mở.
- Chân NC: Đây là chân thường đóng (normally closed), được sử dụng trong chế độ thường đóng.

Cách Hoạt Động
Một ứng dụng Limit Switch điển hình thường chỉ sử dụng hai chân, chân C và một trong hai chân còn lại. Điều này tạo ra bốn cách khác nhau để sử dụng Limit Switch. Bảng dưới đây minh họa cách kết nối và trạng thái đọc trên ESP32 cho mỗi trong số bốn phương pháp này.
| Chân C | Chân NO | Chân NC | Trạng thái Input Pin của ESP32 | |
|---|---|---|---|---|
| 1 | GND | ESP32 Input Pin (với pull-up) | không kết nối | HIGH khi không chạm, LOW khi chạm |
| 2 | GND | không kết nối | ESP32 Input Pin (với pull-up) | LOW khi không chạm, HIGH khi chạm |
| 3 | VCC | ESP32 Input Pin (với pull-down) | không kết nối | LOW khi không chạm, HIGH khi chạm |
| 4 | VCC | không kết nối | ESP32 Input Pin (với pull-down) | HIGH khi không chạm, LOW khi chạm |
Bằng cách hoán đổi chân GND và ESP32 Input Pin cho mỗi trong số bốn cách, có tổng cộng tám cách khác nhau để kết nối ESP32 với Limit Switch.
Trong số tám cách, hướng dẫn này sẽ tập trung vào một phương pháp, cụ thể là phương pháp thứ nhất sẽ được sử dụng làm ví dụ.
Sơ Đồ Kết Nối
- Cách kết nối ESP32 và limit 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à limit switch sử dụng screw terminal block breakout board

Để kết nối ổn định và chắc chắn, chúng tôi khuyến nghị sử dụng hàn để kết nối dây và chân limit switch với nhau, sau đó sử dụng ống co nhiệt để đả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 dây và chân Limit Switch với nhau, sau đó sử dụng ống co nhiệt để tăng thêm độ an toàn.
Code ESP32 - Limit Switch
Giống như một nút nhấn, limit switch cũng cần được chống nhiễu (debounce) (Xem thêm tại ). Việc chống nhiễu làm cho code trở nên phức tạp. May mắn thay, thư viện ezButton library hỗ trợ chức năng chống nhiễu, Thư viện cũng sử dụng thanh ghi pull-up nội. Điều này giúp chúng ta lập trình dễ dàng
Tương tự như một nút nhấn, Limit Switch cũng cần chống nhiễu (thông tin chi tiết có thể tìm thấy tại Tại sao cần chống nhiễu cho nút nhấn/limit switch?). Việc chống nhiễu có thể làm cho code phức tạp hơn. Tuy nhiên, thư viện ezButton library cung cấp chức năng chống nhiễu và sử dụng thanh ghi pull-up nội, 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 Limit Switch là:
- Trường hợp thứ nhất: Nếu switch được CHẠM, thực hiện một hành động nhất định. Nếu trạng thái input là KHÔNG CHẠM, thực hiện hành động ngược lại.
- Trường hợp thứ hai: Nếu trạng thái của switch thay đổi từ KHÔNG CHẠM sang CHẠM (hoặc CHẠM sang KHÔNG CHẠM), thực hiện một hành động cụ thể.
Các Bước Thực Hiện
- Theo sơ đồ kết nối được cung cấp ở trên để kết nối Limit Switch với ESP32.
- Kết nối ESP32 của bạn với PC bằ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 phù hợp trong Arduino IDE.
- Biên dịch và tải code lên board ESP32 bằng cách nhấp vào nút Upload trong Arduino IDE.
- Kiểm tra Limit Switch bằng cách chạm và thả nó.
- Quan sát đầu ra 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.