树莓派资料
显示屏资料
系统下载
树莓派Pico
首页 动态 发帖 版块 我的
 退出
游客  
等级:
金币:
经验值:

TTP223触摸传感器模块使用示例

  7340 
 0
 1
RASPI   RASPI 

一:模块介绍

Image

TTP223触摸模块是一个基于触摸检测IC(TTP223B)的电容式点动型触摸开关模块。在常态下该模块输出低电平,为低功耗模式。当用手指触摸相应位置时,模块会输出高电平。可以将模块安装在非金属材料如塑料、玻璃的表面,另外将薄薄的纸片(非金属)覆盖在模块的表面,只要触摸的位置正确,即可做成隐藏在墙壁、桌面等地方的按键。该模块可以让你免除常规按压型按键的烦恼。


工作电压

2~5VDC

触发方式

手指触摸后输出高电平

尺寸

24mmx24mm

信号输出

开关量(SIG)高电平输出

指示灯状态

带开关指示灯(无触摸灯灭,有触摸灯亮)

TTP223电容触摸模块电路原理图


Image

二:树莓派接线

树莓派开发板TTP223触摸模块
VCCVCC
GNDGND
GPIO18SIG


树莓派开发板LED灯
GPIO23正极
GND负极

Image

二:Python程序1

单点触摸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熄灭。


Python程序2:

单点触摸持续亮灯:检测树莓派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秒。时间到灯灭。(如下图)

Image


标签:
作者签名: raspi.cc   楼主  2025-04-23 01:36:54
回复列表
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权
您的IP: 18.116.27.229 , 2025-04-26 18:37:25
Powered by RASPI _VERSION
© 2017-2025 树莓派极客版权