ARDUINO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cách điều khiển công tắc (switch) trong Arduino

Trong bài viết này mình sẽ hướng dẫn các bạn cách điều khiển công tắc (switch) trong Arduino.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong cuộc sống chúng xung quanh chúng ta thì không thể thiếu các công tắc, vậy làm thế nào để có thể điều khiển được nó. Hãy cùng mình tìm hiểu cách nó hoạt động và điều khiển nó thôi nào !!!

Các thiết bị cần thiết điều khiển công tắc trong Arduino

Công tắc có hai trạng thái là ON (mở) và OFF (đóng). Trạng thái này chúng ta có thể thay đổi và nó được giữ nguyên ngay cả khi nhả ra.

Để điều khiển được công tắc trong Arduino, chúng ta cần thêm các linh kiện khác như sau:

Bài viết này được đăng tại [free tuts .net]

  • 1 x Arduino Uno.
  • 1 x Cap USB 2.0 A / B.
  • Dây điện.
  • Công tắc.

Trên đây là các linh kiện cần thiết để điều khiển công tắc. Ngoài ra các bạn có thể hàn dây và chốt của công tắc để ổn định và chắc chắn.

Sơ đồ chân của công tắc trong Arduino

Công tắt bật / tắt về 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. Với loại công tắc này chúng ta không cần phân biệt giữa hai chân.

arduino 01 png

Vậy công tắc hoạt động như thế nào? Các bạn hay xem hai cách dưới đây:

  • Nếu chúng ta nối một đầu của công tắc vào chân GND của Arduino (có kéo lên bằng điện trở) thì trạng thái đầu vào như sau: HIGH -> tắt, LOW -> bật.
  • Nếu chúng ta nối một đầu của công tắc vào chân VCC của Arduino (có kéo xuống bằng điện trở) thì trạng thái đầu vào như sau: HIGH -.> bật, LOW -> tắt.

Chúng ta chỉ cần chọn một trong hai cách trên, mình sẽ sử dụng cách thứ nhất trong bài viết này.

Sơ đồ mạch điện điều khiển công tắc trong Arduino

Dưới đây là sơ đồ mạch điện để điều khiển công tắc trong Arduino theo cách nối với chân GND của Arduino.

arduino 02 png

Chúng ta sẽ nối hai chân của công tắt lần lược vào Arduino như sau:

  • Một chân của công tắc nối vào chân GND của Arduino.
  • Một chân còn lại của công tắc nối vào chân điều khiển trên Arduino, ở đây là chân số 7.

Để kết nối dây điện ổn định và an toàn, mình khuyên các bạn nên dùng hàn chì để nối dây và chốt của công tắt.

Cách điều khiển công tắc trong Arduino

Có hai trường thường được sử dụng khi điều khiển công tắc:

  1. Nếu trạng thái của công tắc là bật thì hãy làm gì đó, nếu trạng thái là tắt thì làm điều ngược lại.
  2. Nếu trạng thái của công tắc chuyển từ bật sang tắt (hoặc tắt sang bật) thì hãy làm gì đó.

Mình có đoạn code áp dụng hai trường hợp trên dưới đây, các bạn có thể tham khảo nhé !!

//khai báo thư viện ezButton.h để sử dụng button
#include <ezButton.h>
//khai báo chân số 7 là chân điều khiển button trên arduino
ezButton toggleSwitch(7);

void setup() {
  //khai báo cổng Serial 9600
  Serial.begin(9600);
  toggleSwitch.setDebounceTime(50);
}

void loop() {
  toggleSwitch.loop(); // phải gọi hàm loop() trong thư viện ezButton đầu tiên
  //nếu công tắc được nhấn thì thông báo chuyển trạng thái OFF thành ON
  if (toggleSwitch.isPressed())
    Serial.println("The switch: OFF -> ON");
  //nếu công tắc không được nhấn thì thông báo chuyển trạng thái ON thành OFF
  if (toggleSwitch.isReleased())
    Serial.println("The switch: ON -> OFF");

  //khai báo biến state và lấy trạng thái hiện tại của công tắc gán cho nó
  int state = toggleSwitch.getState();
  //nếu trạng thái là HIGH thì công tắc đang OFF
  if (state == HIGH)
    Serial.println("The switch: OFF");
   //ngược lại nếu là LOW thì công tắt đang ON
  else
    Serial.println("The switch: ON");
}

Kết quả: Các bạn sao chép đoạn code trên bỏ vảo phần mềm Arduino IDE, chọn cổng và board phù hợp rồi tiến hành nạp code. Sau đó kiểm tra kết quả bằng cách nhấn công tắc rồi xem thông báo trên cổng Serial.

Kết luận

Như vậy là chúng ta đã tìm hiểu xong về cách điều khiển công tắc (switch) trong Arduino. Đây là một trong các thiết bị được sử dụng nhiều vậy nên các bạn hãy luyện tập để có thể điều khiển nó với các thiết bị khác nữa.

Ví dụ có thể điều khiển đèn bật tắt dựa vào công tắc. Ở bài tiếp theo

Cùng chuyên mục:

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

Top