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.

công tắc bật/tắt 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.

sơ đồ chân công tắc bẬt/tẮt

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

sơ đồ nối dây công tắc bật/tắt cho Arduino

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.
/* * Mã Arduino này được phát triển bởi newbiely.vn * Mã Arduino 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/arduino/arduino-switch */ #include <ezButton.h> ezButton toggleSwitch(7); // create ezButton object that attach to pin 7; void setup() { Serial.begin(9600); toggleSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { toggleSwitch.loop(); // MUST call the loop() function first if (toggleSwitch.isPressed()) Serial.println("The switch: OFF -> ON"); if (toggleSwitch.isReleased()) Serial.println("The switch: ON -> OFF"); int state = toggleSwitch.getState(); if (state == HIGH) Serial.println("The switch: OFF"); else Serial.println("The switch: ON"); }

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