一. 电容输入 touchRead(pin) 及电容输入中断touchAttachInterrupt(pin, TSR , threshold)
ESP32专门提供了电容触摸传感器的功能, 共有T0,T2~T9 共 9个touch传感器可用.分别对应引脚4、2、15、13、12、14、27、33、32. 无需设置PinMode
touchRead(pin)
返回值 0~255. 触摸强度
注意: 摸得越瓷实,数值越小
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.printf("touch:%d\n",touchRead(4));
}
touchAttachInterrupt(pin, TSR , threshold)
参数:
- TSR :中断回调函数, 不能带参数, 不能有返回值。
- threshold:阈值, 达到该阈值会触发此中断
void TSR()
{
Serial.printf("我被按下了!\r\n");
}
void setup()
{
Serial.begin(9600);
touchAttachInterrupt(4, TSR , 20);
}
void loop()
{
}
二. 霍尔传感器
ESP32自带霍尔传感器 , 当有磁场靠近时,会显示正负值
hallRead()