一、介绍
金属触摸传感器是一种仅在,被带电体触摸时,才操作的开关。它有一个接受电子信号时通电的,高频晶体管。
二、组件
★Raspberry Pi主板*1
★树莓派电源*1
★40P软排线*1
★触摸传感器模块*1
★双色LED模块*1
★面包板*1
★跳线若干
三、实验原理
触摸开关传感器
触摸开关传感器原理图
双色LED模块
用手指触摸晶体管的基极使其导通,因为人体本身是一种导体和可以接受空气中的电磁波的天线。从人体收集的这些电磁波信号,由晶体管放大,并由模块上的比较器处理,以输出稳定信号。
在这个实验中,触摸开关传感器产生是否被手指触摸的信号,根据这个信号控制双色LED灯的颜色变化。
四、实验步骤
第1步:连接电路。
树莓派 | T型转接板 | 触摸开关传感器模块 |
---|---|---|
GPIO0 | G17 | SIG |
5V | 5V | VCC |
GND | GND | GND |
树莓派 | T型转接板 | 双色LED灯 |
---|---|---|
GPIO1 | G18 | R |
GPIO2 | G27 | G |
GND | GND | GND |
触摸开关传感器实验电路图
触摸开关传感器实验实物接线图
第2步:编写控制程序。当手触摸时为高电平1,亮红灯,打印“Touch ON”;当拿开手指时为低电平0,亮绿灯,打印“Take OFF”。
代码语言:javascript复制#!/usr/bin/env python
import RPi.GPIO as GPIO
TouchPin = 11
Rpin = 12
Gpin = 13
tmp = 0
def setup():
GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location
GPIO.setup(Gpin, GPIO.OUT) # Set Green Led Pin mode to output
GPIO.setup(Rpin, GPIO.OUT) # Set Red Led Pin mode to output
GPIO.setup(TouchPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set BtnPin's mode is input, and pull up to high level(3.3V)
def Led(x): #当手触摸时为高电平1,亮红灯;当拿开手指时为低电平0,亮绿灯
if x == 1:
GPIO.output(Rpin, 1)
GPIO.output(Gpin, 0)
if x == 0:
GPIO.output(Rpin, 0)
GPIO.output(Gpin, 1)
def Print(x):
global tmp
if x != tmp:
if x == 1: #当手触摸时为高电平,打印Touch ON
print ' ************'
print ' * Touch ON *'
print ' ************'
if x == 0: #当拿开手指时为低电平,打印Take OFF
print ' ************'
print ' * Take OFF *'
print ' ************'
tmp = x
def loop():
while True:
print GPIO.input(TouchPin) #当手触摸时为高电平1,当拿开手指时为低电平0
Led(GPIO.input(TouchPin))
Print(GPIO.input(TouchPin))
def destroy():
GPIO.output(Gpin, GPIO.LOW) # Green led off
GPIO.output(Rpin, GPIO.LOW) # Red led off
GPIO.cleanup() # Release resource
if __name__ == '__main__': # Program start from here
setup()
try:
loop()
except KeyboardInterrupt: # When 'Ctrl C' is pressed, the child program destroy() will be executed.
destroy()