ESP32支持电容触摸按键功能,它的主要特性是:
主要特性
- 最多支持 10 路电容触摸管脚/通用输入输出接口 (General Purpose Input and Output, GPIO)
- 触摸管脚可以组合使用,可覆盖更大触感区域或更多触感点
- 触摸管脚的传感由有限状态机 (FSM) 硬件控制,由软件或专用硬件计时器发起
- 触摸管脚是否受到触碰的信息可由以下方式获得:
- 由软件直接检查触摸传感器的寄存器
- 由触摸监测模块发起的中断信号判断
- 由触摸监测模块上的 CPU 是否从 Deep-sleep 中唤醒判断
- 支持以下场景下的低功耗工作:
- CPU 处于 Deep-sleep 节能模式,将在受到触碰后逐步唤醒
- 触摸监测由超低功耗协处理器 (ULP coprocessor) 管理
触摸按键引脚
触摸传感信号名 | 引脚 |
T0 | GPIO4 |
T1 | GPIO0 |
T2 | GPIO2 |
T3 | GPIO15 |
T4 | GPIO13 |
T5 | GPIO12 |
T6 | GPIO14 |
T7 | GPIO27 |
T8 | GPIO33 |
T9 | GPIO32 |
触摸按键的用法
- from machine import Pin, TouchPad
- from time import sleep_ms
- tc7 = TouchPad(Pin(27))
- while True:
- sleep_ms(500)
- print(tc7.read())
复制代码
首先需要定义一个触摸按键,并指定引脚,然后就可以读取按键的状态,返回值是一个整数,数值大小与按键布局、参数设置、按键感应有关,通过数值的变化就可以判断是否有触摸动作,如:
从上面的数据就可以清楚看出,有触摸时数值明显变小了。
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处