雨滴探测传感器检测下雨并预警实验

雨滴探测传感器检测下雨并预警实验

#实验目的:通过雨滴探测传感器探测到雨滴并超过阈值后,触发继电器进而触发七彩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灯预警熄灭。
#视频效果如下:
jiujiang

评论已关闭。