Arduino Công tắc
Công tắc BẬT/TẮT, còn được gọi là công tắc gạt, có hai trạng thái là BẬT (đóng) và TẮT (mở). Trạng thái của công tắc BẬT/TẮT được chuyển đổi giữa BẬT và TẮT mỗi lần được nhấn, và trạng thái này được giữ ngay cả khi thả nút. Trong bài hướng dẫn này, chúng ta sẽ học cách sử dụng công tắc BẬT/TẮT với Arduino.

Xin đừng nhầm lẫn với những điều sau đây:
Phần cứng cần chuẩn bị
| 1 | × | Arduino Uno R3 | ||
| 1 | × | USB 2.0 cable type A/B (for USB-A PC) | ||
| 1 | × | USB 2.0 cable type C/B (for USB-C PC) | ||
| 1 | × | Wires | ||
| 1 | × | ON/OFF Square Switch | ||
| 1 | × | (Hoặc) ON/OFF Round Switch | ||
| 1 | × | Alternatively, On/Off Switch Module | ||
| 1 | × | (Tùy chọn) Heat Shrink Tubing | ||
| 1 | × | (Tùy chọn) Soldering Iron | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Breadboard Shield for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Enclosure for Arduino Uno | ||
| 1 | × | (Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO |
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | ||
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Công tắc Bật/Tắt
Một công tắc BẬT/TẮT là một công tắc thay đổi trạng thái của nó (BẬT sang TẮT, hoặc TẮT sang BẬT) ngay khi được nhấn một lần, và sau đó vẫn giữ trạng thái đó ngay cả khi được thả ra. Để thay đổi trạng thái, ta cần nhấn lại nó lần nữa.
Bố trí chân
Công tắc Bật/Tắt cơ bản có hai loại: công tắc hai chân và công tắc ba chân.
Trong hướng dẫn này, chúng ta sẽ sử dụng công tắc hai chân. Ở loại này, chúng ta không cần phân biệt giữa hai chân.

Cách hoạt động
Có hai cách để sử dụng công tắc BẬT/TẮT. Dưới đây là bảng kết nối cho công tắc BẬT/TẮT và trạng thái đọc trên Arduino ở cả hai cách:
| pin 1 | pin 2 | Arduino Input Pin's State | |
|---|---|---|---|
| 1 | GND | Arduino Input Pin (with pull-up) | HIGH ⇒ OFF, LOW ⇒ ON |
| 2 | VCC | Arduino Input Pin (with pull-down) | HIGH ⇒ ON, LOW ⇒ OFF |
Chúng ta chỉ cần chọn một trong hai cách ở trên. Phần còn lại của bài hướng dẫn sẽ dùng cách đầu tiên.
Sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image
Để kết nối dây điện ổn định và chắc chắn, chúng tôi khuyến nghị sử dụng Soldering Iron để hàn các dây và chân của công tắc ON/OFF lại với nhau, và sau đó dùng Heat Shrink Tube để làm cho nó an toàn.
Mã Arduino - Công tắc Bật/Tắt
Giống như một nút nhấn, một công tắc BẬT/TẮT cũng cần được debounce (Xem thêm tại Tại sao cần debounce cho nút, công tắc ON/OFF?). Debounce làm cho mã nguồn trở nên phức tạp. May mắn thay, thư viện ezButton hỗ trợ chức năng debounce. Thư viện cũng sử dụng điện trở kéo lên nội bộ. Những điều này làm cho việc lập trình trở nên dễ dàng hơn.
※ Lưu ý:
Có hai trường hợp sử dụng phổ biến:
- Trường hợp đầu tiên: Nếu trạng thái của công tắc là BẬT, hãy làm một việc. Nếu trạng thái đầu vào là TẮT, hãy làm một việc khác theo hướng ngược lại.
- Trường hợp thứ hai: Nếu trạng thái của công tắc được thay đổi từ BẬT sang TẮT (hoặc từ TẮT sang BẬT), hãy làm một việc.
Hướng dẫn từng bước
- Thực hiện wiring theo sơ đồ mạch ở trên
- Kết nối Arduino với PC bằng cáp USB
- Mở Arduino IDE
- Cài đặt thư viện ezButton. Xem How To
- Chọn board và cổng phù hợp
- Nhấp nút Upload trên Arduino IDE để tải mã lên Arduino
- Nhấn công tắc sang ON
- Xem kết quả trên Serial Monitor
- Sau đó ấn công tắc sang OFF
- Xem kết quả trên Serial Monitor
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.