视频直播网站app开发,宝应建设局网站,邢台高端网站建设公司,白银网站建设熊掌号Touch
Touch传感器是一种外围设备#xff0c;具有内部振荡器电路#xff0c;可在固定时间段内测量相应GPIO引脚上的充电/放电频率。 因此#xff0c;这些触摸传感器也被称为电容式传感器。例如#xff0c;如果您触摸这些引脚中的任何一个#xff0c;手指电荷将改变这个周…Touch
Touch传感器是一种外围设备具有内部振荡器电路可在固定时间段内测量相应GPIO引脚上的充电/放电频率。 因此这些触摸传感器也被称为电容式传感器。例如如果您触摸这些引脚中的任何一个手指电荷将改变这个周期数 通过更改连接到触摸传感器的 RC 电路。TouchRead 将返回特定时间测量内的循环次数充电/放电。 此计数的更改将用于验证是否发生了触摸。这些引脚可以很容易地集成到电容焊盘中并取代机械按钮 官方手册地址
Touch-API
Touch读
touch_value_t touchRead(uint8_t pin);pin:GPIO的引脚号返回uint16_t ESP32 或 uint32_t ESP32-S2/S3 形式的触摸板值
触摸传感器上附加中断
void touchAttachInterrupt(uint8_t pin, void (*userFunc)(void), touch_value_t threshold);uint8_t pin表示要附加中断的引脚编号。void (*userFunc)(void)表示当触摸传感器触发中断时要调用的用户自定义函数。touch_value_t threshold表示触摸传感器触发中断的阈值。
该函数通过将用户自定义函数与触摸传感器的引脚关联并在触摸传感器的值超过指定阈值时触发中断来实现功能
触摸分离中断
void touchDetachInterrupt(uint8_t pin);用于从触摸传感器上分离中断
uint8_t pin表示要分离中断的引脚编号。
该函数通过将用户自定义函数与触摸传感器的引脚解除关联。
实训案例
控制一个连接到引脚2的LED灯并根据触摸传感器的值来控制LED的亮灭。当触摸传感器的值小于35时LED灯会点亮否则LED灯会熄灭
#include Arduino.h #define LED_Pin 2 // 定义LED连接的引脚号为2
#define Touch_Pin 15 // 定义触摸传感器连接的引脚号为15uint16_t touchValue 0; // 声明一个无符号16位整数变量touchValue用于存储触摸传感器的值void setup()
{pinMode(LED_Pin, OUTPUT); // 设置LED引脚为输出模式用于控制LED的亮灭Serial.begin(115200); // 初始化串口通信波特率为115200
}void loop()
{touchValue touchRead(Touch_Pin); // 读取触摸传感器的值并将其存储在touchValue变量中Serial.println(touchValue); // 通过串口打印触摸传感器的值if (touchValue 35) // 如果触摸传感器的值小于35{digitalWrite(LED_Pin, HIGH); // 将LED引脚设置为高电平使LED点亮}else // 如果触摸传感器的值大于等于35{digitalWrite(LED_Pin, LOW); // 将LED引脚设置为低电平使LED熄灭}
}
效果如下