#实验目的:通过水滴打湿传感器检测板,从而得到传感器发出探测到雨滴的指令消息。由于我们使用的是模拟信号,因此可看到随着雨量的变化而出现数值的变化。
#接线效果如图
#其他说明
1、实验采用I2C协议,树莓派默认是关闭的因此需打开。可参考:http://www.shumeijiang.com/2019/12/08/基于命令行打开i2c协议支持/
2、I2C查看当前已挂载设备地址命令:
#实验代码
#!/usr/bin/env python
#coding:utf-8
'''
from JiuJiang
树莓酱的操作实例
http:://www.suhmeijiang.com
'''
import RPi.GPIO as GPIO ##引入GPIO模块
import time ##引入time库
import smbus ##引入控制总线
GPIO.setmode(GPIO.BCM) ##此处采用的BCM编码 因为T型扩展板也是BCM编码 方便统一
address = 0x48 ##传感器地址
A0 = 0x40 ##使用的端口地址
bus = smbus.SMBus(1) ##开启总线
try:
while True:
bus.write_byte(address, A0) ##设置获取传感器哪个端口数据
value = bus.read_byte(address) ##读取指定端口的数据
print ("雨量值:%1.3f " %(value)) ##范围为0~255
##print ("雨量值:%1.3f " %(value*3.3/255)) ##转换为电压输出 如果是5V需要将3.3替换为5
time.sleep(1) ##探测频率
except KeyboardInterrupt:
pass
#实验效果
1、执行代码 Python jiujiang.py;
2、当检测板没有雨滴时,输出255(如果上次有实验,寄存器有数据会输出上一次实验数据)。
3、然后将水滴滴入检测板,可见数值随着水滴面积增大而数值逐渐变小。
4、根据数值变化(或者转换为电压也可)可预警雨量变化。
5、Ctrl+C停止检测。
#视频效果如下: