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

Cách điều khiển Touch Sensor 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 Touch Sensor trong Arduino. Các bạn có thể bắt gặp nó ở xung quanh rất nhiều, ví dụ như các cánh cửa, công tắc, ... .

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.

Qua bài viết này các bạn có thể hiểu được cách nó hoạt động và tự làm cho mình một sản phẩm liên quan đến Touch Sensor. Có thể là khi ta nhân giữ Touch Sensor thì cửa tự động mở, nhả ra thì cửa tự động đóng.

Các thiết bị cần thiết điều khiển Touch Sensor

Touch Sensor còn được gọi là nút cảm ứng, được sử dụng rộng rãi để điều khiển các thiết bị. Nó có chức năng như một button, được sử dụng thay cho button trên các thiết bị mới vì nó giúp trông gọn gàng hơn.

Để có thể điều khiển được Touch Sensor ta cần thêm một số thiết bị khác sau đây:

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

  • 1 x Arduino Uno.
  • 1 x Cap USB 2.0 loại A / B.
  • 1 x Touch Sensor.
  • 3 x Dây đực đực.

arduino 02 png

Các bạn có thể thay thế Arduino Uno bằng một Arduino khác nhé, về cơ bản thì vẫn có thể sử dụng để điều khiển Touch Sensor.

Sơ đồ chân của Touch Sensor trong Arduino

Touch Sensor bao gồm có ba chân:

  • Chân GND được nối với chân GND (0V).
  • Chân VCC được nối với chân VCC (5V).
  • Chân Signal là chân đầu ra: LOW khi không chạm vào và HIGH khi chạm vào. Chân này cần được kết nối với chân đầu vào của Arduino.

arduino 03 png

Vậy Touch Sensor hoạt động như thế nào?

  • Khi không chạm vào cảm biến, chân Signal của cảm biến ở mức LOW.
  • Khi chạm vào cảm biến , chân Signal của bảm biến ở mức HIGH.

Sơ đồ mạch điện điều khiển Touch Sensor trong Arduino

Dưới đây là sơ đồ mạch điện để điều khiển Touch Sensor trong Arduino, các bạn có thể xem qua nhé:

arduino 01 png

Giải thích sơ đồ:

  • Chân GND của Touch Sensor được nối với chân GND của Arduino.
  • Chân VCC của Touch Sensor được nối với chân 5V của Arduino.
  • Chân tín hiệu Signal của Touch Sensor được nối với chân điều khiển số 7 của Arduino.

Cách điều khiển Touch Sensor trong Arduino

Thông thường việc điều khiển Touch Sensor nhằm vào hai mục đích sử dụng như sau:

  • Nếu trạng thái đầu vào là HIGH thì hãy làm gì đó, ngược lại là LOW thì làm điều ngược lại.
  • Nếu trạng thái đầu vào thay đổi từ HIGH sang LOW (hoặc từ LOW sang HIGH) thì làm điều gì đó.

Tùy thuộc vào ứng dụng mà ta chọn việc điều khiển nào. Trong ví dụ dưới đây mình thực hiện hiển thị ra cổng Serial nếu người dùng nhấn vào. Ngược lại thì không hiển thị, các bạn có thể tham khảo nhé.

//khai báo chân điều khiển Touch Sensor là chân số 7 của Arduino
const int SENSOR_PIN = 7; 

int lastState = LOW;     
int currentState;        
void setup() {
  // khai báo cổng Serial 9600
  Serial.begin(9600);
  // khai báo chân điều khiển ở dạng Input
  pinMode(SENSOR_PIN, INPUT);
}

void loop() {
  // đọc trạng thái của Touch Sensor
  currentState = digitalRead(SENSOR_PIN);
  // Nếu trạng thái trước đó là LOW và trạng thái hiện tại là HIGH thì hiển thị ra cổng Serial đã chạm vào cảm biến
  if(lastState == LOW && currentState == HIGH)
    Serial.println("The sensor is touched");

  //lưu trạng thái trước đó vào biến LastState
  lastState = currentState;
}

Kết luận

Như vậy là chúng ta đã tìm hiểu về cách điều khiển Touch Sensor trong Arduino. Đây là một thiết bị tương lai, vậy nên các bạn hãy tìm hiểu và thực hành với nó nhé. Còn rất nhiều thiết bị thú vị đang chờ bạn khám phá nữa, chúc các bạn thành công nhé !!!

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