树莓派 Pico 上使用触摸开关 TTP223 模块

触摸开关 TTP223 模块,用手轻轻触摸其类似指纹的图标内部区域即可触发。工作电压为 2V ~ 5.5V,共 3 个引脚(GND、VCC、SIG),GND 为地,VCC 为电源引脚,SIG 为数字信号输出脚。

接线

触摸开关 TTP223 模块的 VCC 接树莓派 Pico 的 3V3 引脚
触摸开关 TTP223 模块的 GND 接树莓派 Pico 的 GND 引脚
触摸开关 TTP223 模块的 SIG 引脚接树莓派 Pico 的 GP2 引脚

编程

接通之后,树莓派 Pico 板载的 LED 点亮。代码如下:

import machine
import utime

touch_switch = machine.Pin(2, machine.Pin.IN)
led_board = machine.Pin(25, machine.Pin.OUT)

while True:
    led_board.value(touch_switch.value())
    utime.sleep(0.01)

运行之后测试,用手触摸该模块,树莓派 Pico 板载的 LED 点亮;手离开模块,LED 熄灭。

如果想实现,触摸一下点亮 LED,保持点亮状态,再触摸一下熄灭 LED 的效果,则需要使用下面的代码:

import machine
import utime

touch_switch = machine.Pin(2, machine.Pin.IN)

touch = False
def toggle_handler(pin):
    global touch
    touch = not touch

touch_switch.irq(trigger=machine.Pin.IRQ_RISING, handler=toggle_handler)

led_board = machine.Pin(25, machine.Pin.OUT)
while True:
    led_board.value(touch)
    utime.sleep(0.01)

上面的代码用中断触发一个回调函数,当 GP2 电位由低变高后,让布尔变量(LED 的状态)逻辑反转一下。

注意:对于树莓派 Pico W 来说,板载的 LED 引脚编号不是 GP25,需改为:

led_board = machine.Pin("LED", machine.Pin.OUT)

你还可以:
查看系列教程中的其他文章
购买本教程所用到的 Pico 套件



坐沙发

发表评论

你的邮件地址不会公开


*