树莓派 LED+蜂鸣+声音传感器+红外模块组合打造声控/红外控制LED
昨天搞了控制LED,玩了第一个,剩下的就感觉很简单了,这里记录一下
先来几张照片
玩了蜂蜜模块才发现规律,一般这种模块,都会有三个针脚,VCC(3.3V或5V供电输出针脚)、GNC(对应GPIO针脚的GNC)、OUT/(I/O)(对应GPIO编号的针脚),如果是需要向树莓派发送信息的,这个模块上标识的是OUT,例如这里用的声音传感器和人体红外传感器,这两个都是需要向树莓派发送侦测的信息,如果不需要向树莓派发送消息的,则标识的是I/O,比如我这个蜂鸣模块,这只是我用这三个传感器发现的,可能不正确
上一张从网上找的GPIO针脚的图示:
涂上面包板最左边有一模块,是树莓派独立供电模块,搞清楚怎么接的时候才发现供电口有问题,USB是供电口,妈蛋,一般充电器都是从USB口输出到Micro口,我是用移动电源供电的,从移动电源的USB出来后就是Micro口,根本接不上,需要个公对公的USB线,没办法只能单独去买个数据线,这个模块连接的方式跟其他模块差不多,接上供电的USB口,上面的针脚有3.3V、5V、GND,这就很明白了,上面说了,一般模块都需要VCC和GND,GPIO上面这两个数量有限,可以接到这个独立供电模块,OUT针脚正常接到树莓派的GPIO针脚上,又防止直接烧坏树莓派,又增加接口,好用!
1 #coding=utf8 2 import RPi.GPIO as GPIO 3 import time 4 5 GPIO.setmode(GPIO.BCM) 6 GPIO.setwarnings(False) 7 GPIO.setup(18, GPIO.OUT) #LED 8 GPIO.setup(17,GPIO.OUT) #蜂鸣模块 9 #GPIO.setup(5, GPIO.IN,pull_up_down=GPIO.PUD_UP) #声音传感器 10 GPIO.setup(23,GPIO.IN) #红外传感器 11 12 try 13 while True: 14 #if GPIO.input(5) == 0: #声音 15 if GPIO.input(23) == True: 16 print('comming....') 17 GPIO.output(18, True) 18 GPIO.output(17,GPIO.HIGH) 19 time.sleep(1) 20 GPIO.output(18, False) 21 GPIO.output(17,GPIO.LOW) 22 time.sleep(1) 23 except KeyboardInterrupt: #如果Ctrl+C中断脚本,则清除GPIO输出 24 GPIO.cleanup()
这里LED使用的是编号18的针脚、蜂鸣17、声音5、红外23,是要做的功能是侦测到了有人就亮LED灯和蜂鸣,用不到声控,所以我就给注释了,如果要声控,把红外的代码注释、打开声音那两行代码就可以了