ESP32 Touch Sensor (Cảm Biến Cảm Ứng)

Hướng dẫn này sẽ chỉ bạn cách sử dụng ESP32 với cảm biến cảm ứng (còn được gọi là công tắc cảm ứng hoặc nút cảm ứng).

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×USB Cable Type-A to Type-C (for USB-A PC)
1×USB Cable Type-C to Type-C (for USB-C PC)
1×cảm biến chạm
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ề Touch Sensor (Cảm Biến Cảm Ứng)

Sơ Đồ Chân Touch Sensor

Touch sensor có 3 chân:

  • Chân GND: kết nối chân này với GND (0V)
  • Chân VCC: kết nối chân này với VCC (5V hoặc 3.3V)
  • Chân SIGNAL: là chân đầu ra: LOW khi KHÔNG được chạm, HIGH khi được chạm. Chân này cần được kết nối với chân input của ESP32.
cảm biến chạm sơ đồ chân

Cách Hoạt Động Của Touch Sensor

  • Trạng thái của chân SIGNAL là LOW khi touch sensor KHÔNG được chạm
  • Trạng thái của chân SIGNAL là HIGH khi touch sensor được chạm

ESP32 - Touch Sensor

Chúng ta có thể kết nối chân SIGNAL của touch sensor với chân input của ESP32 và sử dụng code ESP32 để đọc trạng thái của cảm biến cảm ứng.

Sơ Đồ Đấu Nối giữa Touch Sensor và ESP32

  • Cách kết nối ESP32 và touch sensor sử dụng breadboard
ESP32 cảm biến chạm sơ đồ đấu dây

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.

how to connect ESP32 and cảm biến chạm

Cách Lập Trình Touch Sensor

  • Khởi tạo chân ESP32 ở chế độ digital input bằng cách sử dụng hàm pinMode(). Ví dụ, chân GPIO18
pinMode(18, INPUT_PULLUP);
  • Đọc trạng thái của chân ESP32 bằng cách sử dụng hàm digitalRead().
int inputState = digitalRead(18);

Touch Sensor - Code ESP32

Code dưới đây đọc trạng thái của touch sensor và in ra Serial Monitor.

/* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 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/esp32/esp32-touch-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the sensor's SIGNAL pin of touch sensor void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); // print state to Serial Monitor Serial.println(state); }

Các Bước Thực Hiện

  • Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
  • Sao chép code trên và dán vào 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 trên Arduino IDE
  • Chạm tay vào cảm biến và thả ra.
  • Xem kết quả trên Serial Monitor. Nó trông giống như sau:
COM6
Send
0 0 0 1 1 1 1 1 1 0 0
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Cách phát hiện sự thay đổi trạng thái từ LOW sang HIGH

/* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 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/esp32/esp32-touch-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to the sensor's SIGNAL pin of touch sensor // Variables will change: int lastState = LOW; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == LOW && currentState == HIGH) Serial.println("The sensor is touched"); // save the the last state lastState = currentState; }

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.

Tài Liệu Tham Khảo Ngôn Ngữ

Bình Luận