#实验目的:通过雨滴探测传感器探测到雨滴并超过阈值后,触发继电器进而触发七彩LED灯闪烁预警提示。
#接线效果如图
#其他说明
1、继电器触发七彩LED接线以及操作参考文章:http://www.shumeijiang.com/2019/11/23/继电器实验/
2、雨滴探测模块接线以及操作参考文章:http://www.shumeijiang.com/2019/12/21/雨滴探测传感器/
#实验代码
#!/usr/bin/env python
#coding:utf-8
'''
from JiuJiang
树莓酱的操作实例
https:://www.suhmeijiang.com
'''
import RPi.GPIO as GPIO ##引入GPIO模块
import time ##引入time库
import smbus ##引入控制总线
ledPin = 17 ##继电器控制口
GPIO.setmode(GPIO.BCM) ##此处采用的BCM编码 因为T型扩展板也是BCM编码 方便统一
GPIO.setup(ledPin, GPIO.OUT) ##设置BCM编码下指定引脚为输出状态
address = 0x48 ##雨滴传感器地址
A0 = 0x40 ##使用的端口地址
bus = smbus.SMBus(1) ##开启总线
threshold = 150 ##雨量触发预警的阈值 可自定义
try:
while True:
bus.write_byte(address, A0) ##设置获取传感器哪个端口数
value = bus.read_byte(address) ##读取指定端口数据
print ("雨量值:%1.3f " %(value)) ##输出检测值
##检测是否触发预警
if value >= threshold: ##检测是否触发预警
GPIO.output(ledPin, GPIO.LOW) ##没有触发预警则让继电器处于闭合状态
continue
else:
print "开灯" ##触发预警 亮灯闪烁
GPIO.output(ledPin, GPIO.HIGH) ##高电平开灯
time.sleep(3) ##预警持续时间
time.sleep(1) ##检测频率
except KeyboardInterrupt:
pass
GPIO.cleanup()
#实验效果
1、执行代码 Python jiujiang.py;
2、可见屏幕输出255数值(根据探测板情况而定);
3、将水滴滴入探测板,会发现屏幕输出不同的雨滴值,如果雨滴值小于阈值,会听见咔的一声,继电器闭合通电,七彩LED灯开始闪烁。
4、预警闪烁持续3秒钟,然后继续监测;如果发现雨滴值大于阈值,则继电器关闭,LED灯预警熄灭。
#视频效果如下: