树莓派+震动传感器+光线亮度传感器+红绿灯LED(2020-09
2020-09-02 本文已影响0人
我开心0536
震动及亮光设备.jpg
震动传感器工作原理如下:
一旦传感器检测到震动,弹簧就会震动并与触发针接触,从而产生触发信号。可通过调节电位计用于设定触发起始程度。
亮度传感器工作原理如下:
一旦传感器检测到达到一定亮度,从而产生触发信号。可通过调节电位计用于设定触发起始程度。
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
#上述两行指定运行环境以及编码方式
#导入GPIO模块
import RPi.GPIO as GPIO
#导入time模块并起名tm
import time as tm
GPIO.setmode(GPIO.BCM)
led_list = [14,15,18] # 红绿灯接口如下:18Green 15Yellow 14RED
GPIO.setup(led_list, GPIO.OUT)
GPIO.setup( 2, GPIO.IN) #震动传感器的DO线接2口
GPIO.setup(10, GPIO.IN) #光线亮度传感器的DO线接10口
try:
while True:
if GPIO.input(2) == GPIO.HIGH: #如果检测到震动电平为高
print('有震动!有震动!有震动!有震动!')
for led in led_list: #让红黄绿三个灯轮流闪烁
GPIO.output(led, GPIO.HIGH)
tm.sleep(0.05)
GPIO.output(led, GPIO.LOW)
tm.sleep(0.05)
elif GPIO.input(10) == GPIO.LOW: #如果检测到光线亮度为高
print('有亮光!有亮光!有亮光!有亮光!')
for led in led_list: #让红黄绿三个灯轮流闪烁
GPIO.output(led, GPIO.HIGH)
tm.sleep(0.05)
GPIO.output(led, GPIO.LOW)
tm.sleep(0.05)
else:
print('无亮光!无震动!')
GPIO.output(15, GPIO.HIGH) #只闪黄灯
tm.sleep(0.05)
GPIO.output(15, GPIO.LOW)
tm.sleep(1)#等待,让CPU能处理其他事务
except KeyboardInterrupt:
print('KeyboardInterrupt')
finally:
GPIO.cleanup()
print('Exit')
亮光及震动.jpg