首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
30 篇文章
1
树莓派基础实验1:双色LED灯实验
2
树莓派基础实验2:RGB-LED实验
3
树莓派基础实验3:七彩LED灯闪烁实验
4
树莓派基础实验4:继电器实验
5
树莓派基础实验5:激光传感器实验
6
树莓派基础实验6:轻触开关按键实验
7
树莓派基础实验7:倾斜开关实验
8
树莓派基础实验8:振动开关实验
9
树莓派基础实验9:蜂鸣器实验
10
树莓派基础实验10:干簧管传感器实验
11
树莓派基础实验11:U型光电传感器实验
12
树莓派基础实验12:PCF8591模数转换器实验
13
树莓派基础实验13:雨滴探测传感器实验
14
树莓派基础实验14:PS2操纵杆实验
15
树莓派基础实验15:电位器传感器实验
16
树莓派基础实验16:霍尔传感器实验
17
树莓派基础实验17:温度传感器实验
18
树莓派基础实验18:声音传感器实验
19
树莓派基础实验19:光敏传感器实验
20
树莓派基础实验20:火焰报警传感器实验
21
树莓派基础实验21:烟雾报警传感器实验
22
树莓派基础实验22:红外遥控传感器实验
23
树莓派基础实验23:触摸开关传感器实验
24
树莓派基础实验24:超声波测距传感器实验
25
树莓派基础实验25:DS18B20温度传感器实验
26
树莓派基础实验26:旋转编码器实验
27
树莓派基础实验27:温湿度传感器DHT11 实验
28
树莓派基础实验28:红外避障传感器实验
29
树莓派基础实验29:I2C LCD1602实验
30
树莓派基础实验30:BMP180气压传感器实验

树莓派基础实验23:触摸开关传感器实验

一、介绍

   金属触摸传感器是一种仅在,被带电体触摸时,才操作的开关。它有一个接受电子信号时通电的,高频晶体管。


二、组件

★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()
下一篇
举报
领券