Arduino ESP32自带触摸传感器功能测试

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino ESP32自带触摸传感器功能测试相关的知识,希望对你有一定的参考价值。

Arduino ESP32自带触摸传感器功能测试

  • 开发板选择的是;ESP32 Dev Module

1.直接读取触摸引脚值

/**
 * 功能:使用ESP32的触摸按键
 * 触摸传感器通道 管脚
          T0  GPIO4
          T1  GPIO0
          T2  GPIO2
          T3  MTDO
          T4  MTCK
          T5  MTDI
          T6  MTMS
          T7  GPIO27
          T8  32K_XN
          T9  32K_XP
 */
#include <WiFi.h>
 
void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("Starting Touch work!");
  pinMode(2,OUTPUT);
  digitalWrite(2,HIGH);//板载led灯
  
}
 
void loop() {
  
  Serial.printf("touch_pad_read: %d \\n",touchRead(T0));  // Touch0 通道是 GPIO 4.
  delay(30);
}
  • 没有触摸的情况下,串口读取到的默认数值

2.触摸引脚,触摸按键中断

/**
 * 功能:使用ESP32的触摸按键中断
 * 触摸传感器通道 管脚
          T0  GPIO4
          T1  GPIO0
          T2  GPIO2
          T3  MTDO
          T4  MTCK
          T5  MTDI
          T6  MTMS
          T7  GPIO27
          T8  32K_XN
          T9  32K_XP
 */
#include <WiFi.h>
#define led 2

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("ESP32 Touch Interrupt Test");
  pinMode(led,OUTPUT);
  digitalWrite(led,HIGH);//板载led灯 
  touchAttachInterrupt(T0, gotTouch, 40);//其中40为阈值,当通道T0上的值<40时,会触发中断
}
 
void loop() {}
void gotTouch(){ 
  digitalWrite(led,!digitalRead(led));
  Serial.printf("touch_pad_read: %d ,led= %d \\n",touchRead(T0),digitalRead(led));  // Touch0 通道是 GPIO 4.
  delay(80);
}
  • 触摸中断模式下,串口打印触摸感应值

以上是关于Arduino ESP32自带触摸传感器功能测试的主要内容,如果未能解决你的问题,请参考以下文章

Arduino ESP32深度睡眠触摸唤醒(触摸唤醒)

ESP32 Arduino使用内部霍尔传感器

MicroPython ESP32 触摸传感器使用示例

ESP32电容式触摸传感器引脚

ESP32-IDF02-2 外设-触摸传感器

Arduino ESP8266/ESP32 多路DS18B20温度采样读取