• 1.9. 触摸按钮(touch pad)测试


    1.9.1. 基础

    Esp32部分GPIO内置了touch按钮功能(电容式),具体有touch功能的引脚在配置为touchpad后,单片机读入的电容值随是否被触碰发生变化,系统根据电容值的变化判断判断是否有有效动作。

    Esp32具有touchpad功能的引荐,可查数据手册,如下图所示:

    wps2

    MicroPython官方说明:

    wps3

    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)

    执行效果如下图:

    wps4

    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)
  • 相关阅读:
    CSS实现DIV水平自适应居中
    jQuery实现鼠标拖动改变Div高度
    Word2013创建目录
    raw,cow,qcow,qcow2镜像的比较
    Chrome浏览器官方下载地址
    OLE/COM 对象查看器 & OLE常用术语
    VmWare为Fedora虚拟机扩展磁盘
    Linux常用命令
    项目经理与客户沟通的宜与忌
    转 FileStream Read File
  • 原文地址:https://www.cnblogs.com/horal/p/16514089.html
Copyright © 2020-2023  润新知