1.9.1. 基础
Esp32部分GPIO内置了touch按钮功能(电容式),具体有touch功能的引脚在配置为touchpad后,单片机读入的电容值随是否被触碰发生变化,系统根据电容值的变化判断判断是否有有效动作。
Esp32具有touchpad功能的引荐,可查数据手册,如下图所示:
MicroPython官方说明:
1.9.2. 触摸演示
驱动touchpad,使用machine模块下的TouchPad模块。以IO14为例,在命令行模式下按1Hz的频率循环打印IO14的值,代码如下:
1 from machine import Pin,TouchPad 2 from time import sleep 3 4 tt = TouchPad(Pin(14)) #Pin模式可以不做配置 5 6 while True: 7 Print(tt.read()) 8 Sleep(1)
执行效果如下图:
1.9.3. 程序设计
案例:触摸按钮动作时,切换板载led的状态(由点亮切换为熄灭或有熄灭切换为点亮)。
分析:结合1.6节和1.7.1内容,设置valve值,代码实现如下:
1 from machine import Pin,TouchPad 2 from time import sleep 3 4 led = Pin(2,Pin.OUT) 5 tp = TouchPad(Pin(14,Pin.IN)) 6 tp_valve = 700 7 8 cnt = 0 9 max_value = 10 10 valve = 5 11 12 def button_deal(): 13 if(led.value() > 0): 14 led.off() 15 else: 16 led.on() 17 print("valid btn") 18 19 while True: 20 #按钮部分 21 if(tp.read()<tp_valve): 22 if(cnt < max_value): 23 cnt = cnt +1 24 else: 25 cnt = 0 26 27 if(cnt==valve): 28 button_deal() 29 sleep(0.01)
----*----*----*----*----*----*----*----*----*----*----*----
史久超
email:shijiuchao1983@163.com
tel:15999550975 微信同号
qq:157185173 经常不在线,尽量微信
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具