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自带触摸传感器功能测试的主要内容,如果未能解决你的问题,请参考以下文章