TTP223触摸模块是一个基于触摸检测IC(TTP223B)的电容式点动型触摸开关模块。在常态下该模块输出低电平,为低功耗模式。当用手指触摸相应位置时,模块会输出高电平。可以将模块安装在非金属材料如塑料、玻璃的表面,另外将薄薄的纸片(非金属)覆盖在模块的表面,只要触摸的位置正确,即可做成隐藏在墙壁、桌面等地方的按键。该模块可以让你免除常规按压型按键的烦恼。
树莓派开发板 | TTP223触摸模块 |
VCC | VCC |
GND | GND |
GPIO18 | SIG |
树莓派开发板 | LED灯 |
GPIO23 | 正极 |
GND | 负极 |
单点触摸Python程序含义:检测树莓派GPIO18引脚有高电平输入时,同步让GPIO23也输出高电平点亮LED灯,反之关闭点亮!
#or www.raspi.cc import RPi.GPIO as GPIO import time # 定义GPIO引脚 INPUT_PIN = 18 # GPIO18作为输入引脚 OUTPUT_PIN = 23 # GPIO23作为输出引脚 # 设置GPIO模式 GPIO.setmode(GPIO.BCM) # 使用BCM引脚编号 GPIO.setup(INPUT_PIN, GPIO.IN) # 设置GPIO18为输入 GPIO.setup(OUTPUT_PIN, GPIO.OUT) # 设置GPIO23为输出 try: while True: # 读取GPIO18的状态 input_state = GPIO.input(INPUT_PIN) if input_state == GPIO.HIGH: print("开灯") GPIO.output(OUTPUT_PIN, GPIO.HIGH) # 输出高电平 else: print("关灯") GPIO.output(OUTPUT_PIN, GPIO.LOW) # 输出低电平 time.sleep(0.1) # 每0.1秒检查一次状态 except KeyboardInterrupt: # 捕获CTRL+C异常,清理GPIO设置 pass finally: GPIO.cleanup() # 清理GPIO设置
状态:执行此程序后,当手指触摸时,LED点亮。 手指拿开后LED熄灭。
单点触摸持续亮灯:检测树莓派GPIO18引脚有高电平输入时,每次触摸后让GPIO23也输出高电平10秒,此时LED就会亮灯10秒。
#or www.raspi.cc import RPi.GPIO as GPIO import time # 设置GPIO模式 GPIO.setmode(GPIO.BCM) # 定义GPIO引脚 input_pin = 18 # 输入引脚 output_pin = 23 # 输出引脚 # 设置输入引脚 GPIO.setup(input_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # 设置输出引脚 GPIO.setup(output_pin, GPIO.OUT) try: while True: # 读取输入引脚状态 if GPIO.input(input_pin) == GPIO.HIGH: print("开灯") GPIO.output(output_pin, GPIO.HIGH) # 设置输出引脚为高电平 # 开始10秒倒计时 for i in range(10, 0, -1): print(f"倒计时: {i}秒") time.sleep(1) GPIO.output(output_pin, GPIO.LOW) # 倒计时结束,设置输出引脚为低电平 print("关闭灯光") time.sleep(0.1) # 避免过于频繁的循环 except KeyboardInterrupt: # 清理GPIO设置 GPIO.cleanup()
状态:执行此程序后,当手指触摸时,LED点亮并开始倒计时10秒。时间到灯灭。(如下图)