ESP32 Touch Sensor Example

 

Introduction

Hệ thống cảm biến cảm ứng được xây dựng trên một chất nền mang các điện cực và các kết nối có liên quan dưới một bề mặt phẳng bảo vệ. Khi người dùng chạm vào bề mặt, sự thay đổi điện dung được kích hoạt và một tín hiệu nhị phân được tạo ra để cho biết liệu lần chạm có hợp lệ hay không.

ESP32 có thể cung cấp tối đa 10 miếng cảm ứng điện dung / GPIO. Các miếng cảm biến có thể được bố trí theo các tổ hợp khác nhau (ví dụ: ma trận, thanh trượt), để có thể phát hiện ra một vùng lớn hơn hoặc nhiều điểm hơn. Quá trình cảm biến touch pad nằm dưới sự điều khiển của máy trạng thái hữu hạn (FSM) do phần cứng thực hiện được khởi tạo bằng phần mềm hoặc bộ đếm thời gian phần cứng chuyên dụng.


Phát hiện cảm ứng điện dung đôi khi được coi là nghệ thuật hơn là khoa học. Điều này thường dẫn đến nhiều lần lặp lại thiết kế trước khi đạt được độ nhạy hiệu suất tối ưu. Tuy nhiên, có các phương pháp thiết kế tốt để bố trí mạch và các nguyên tắc của vật liệu cần
được hiểu là giữ cho số lần lặp lại ở mức tối thiểu. Hướng dẫn thiết kế này mô tả quy trình tạo và thiết kế các giải pháp cảm ứng điện dung, bắt đầu với sơ đồ, làm việc thông qua các thợ cơ khí và cuối cùng là thiết kế các điện cực cho ứng dụng.

ESP32 Capacitive Touch pins


ESP32 Touch Sensor Example


ESP32 Cpacitive Touch Circuit

Do not connect any capacitor, Ccomponent, Ctrace and Celectrode are representation of capacitors formed in circuit.

ESP32 Touch Sensor Example


ESP32 Capacitive Touch Buttons Code


  /* 
  *  Copyright (c) 2018, circuits4you.com
  *  All rights reserved.
  * 
  * ESP32 Capacitive Touch Example
  */

  byte touch;
  //======================================================================
  //            Setup
  //======================================================================
  void setup() {
      Serial.begin(115200);
      
      touch_pad_filter_start(T0);
      touch_pad_set_filter_period(T0);
  }

  //======================================================================
  //            Loop
  //======================================================================
  void loop() {  
      touch= touchRead(T0);    
      Serial.println(touch);
      delay(100);
  }
  


Results

Mở Serial Monitor và quan sát số đọc khi không chạm vào bàn phím, giá trị đọc sẽ thay đổi từ 70-80, khi phát hiện chạm, giá trị đọc sẽ chuyển sang 0-20.


No comments:

Post a Comment