赞
踩
开始此章节教程之前,请确保你已经安装了相应的环境并且拥有相应的工具。
如果你还没有准备好可点此跳转
本章节将会带你使用树莓派连接PCF8591模数采集模块,并转换土壤湿度传感器采集的模拟量给树莓派,获取相应的土壤湿度数据。
1、土壤湿度传感器支持输出电平信号与模拟信号,电平信号只有高低,无法满足我们显示具体土壤湿度的要求,所以我们采用A0 模拟引脚,但是树莓派不支持模拟量输入,所以我们增加一个模数转换模块PCF8591,接线图如图所示。
我真的尽力了,建议看原理图,实物图真是惨不忍睹。连接正确的情况下,指示灯都会亮的。错了就多试几次,树莓派也是支持热拔插的,别断路就行。加油!
1、直接运行代码肯定会报错,因为这里面还包含了光照强度传感器的代码,如图
2、所以我们需要注释掉光照强度传感器部分的代码,如图,需要用#号注释掉46-54行的代码。
31-44行的代码为PCF8591模块上面的温度与光照传感器,感兴趣的也可以去掉注释测试一下。
3、注释掉以后重新测试即可得到具体的土壤湿度数据,正常应该是0,因为土壤湿度计并没有插到土里,你可以尝试有湿纸巾包裹传感器或者握住湿度计观察读数是否变化。如图。
好的,恭喜你完成了土壤湿度传感器的连接验证,继续加油!
如果你还是报错,可以检查一下树莓派I2C是否开启,或者检查接线是否正确,设备是否损坏等,可以通过以下命令行查看。
sudo i2cdetect -y 1
代码和上面的测试代码完全一样的,推荐去第一章统一下载,点击跳转。
import smbus import time if __name__ == "\_\_main\_\_": #BH1750地址 __DEV_ADDR=0x23 __PCF_ADDR=0x48 #控制字 __CMD_PWR_OFF=0x00 #关机 __CMD_PWR_ON=0x01 #开机 __CMD_RESET=0x07 #重置 __CMD_CHRES=0x10 #持续高分辨率检测 __CMD_CHRES2=0x11 #持续高分辨率模式2检测 __CMD_CLHRES=0x13 #持续低分辨率检测 __CMD_THRES=0x20 #一次高分辨率 __CMD_THRES2=0x21 #一次高分辨率模式2 __CMD_TLRES=0x23 #一次分辨率 __CMD_SEN100H=0x42 #灵敏度100%,高位 __CMD_SEN100L=0X65 #灵敏度100%,低位 __CMD_SEN50H=0x44 #50% __CMD_SEN50L=0x6A #50% __CMD_SEN200H=0x41 #200% __CMD_SEN200L=0x73 #200% __PCF_THRES=0x42 #检测 while True: # bus.write\_byte(0x48,0x40) # bus.read\_byte(0x48) # illnum =bus.read\_byte(0x48) # illnum =(255-illnum)/255\*1000 # print("光照强度:%.2f" % illnum + " lux ") # bus.write\_byte(0x48,0x41) # bus.read\_byte(0x48) # temnum =bus.read\_byte(0x48) #temnum +=bus.read\_byte(0x48) # temnum +=bus.read\_byte(0x48) # temnum =temnum/3 # temnum =(255-temnum)/255\*100-6.5 # print("环境温度:%.2f" % temnum + " ℃ ") bus=smbus.SMBus(1) bus.write_byte(\_\_DEV\_ADDR,\_\_CMD\_PWR\_ON) bus.write_byte(\_\_DEV\_ADDR,\_\_CMD\_THRES2) time.sleep(0.2) illnum=bus.read\_word\_data(__DEV_ADDR,0) #read\_word\_data illnum=((illnum>>8)&0xff)|(illnum<<8)&0xff00 illnum=round(illnum/(2\*1.2),2) result="光照强度: "+str(illnum)+" lux" print(result) bus.write_byte(\_\_PCF\_ADDR,\_\_PCF\_THRES) ## 最后 **自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。** **深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。** **因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。** ![img](https://img-blog.csdnimg.cn/img_convert/a0ad91328089359eb9d24dd9ed691107.png) ![img](https://img-blog.csdnimg.cn/img_convert/5a493824edaf028ac7543a9eb84c8489.jpeg) ![img](https://img-blog.csdnimg.cn/img_convert/c30d5818d50edb68640067f083e6574f.png) ![img](https://img-blog.csdnimg.cn/img_convert/3236e95b5deae233cdc63729f68e082c.png) ![img](https://img-blog.csdnimg.cn/img_convert/47a348838917bc9bf178fa0eda22a532.png) ![img](https://img-blog.csdnimg.cn/img_convert/bb8285743ba585fb8928ba1dae43966b.png) ![](https://img-blog.csdnimg.cn/img_convert/34a3fdcd257b3a922a35b9bd07945a35.png) **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!** [**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289) **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!! 全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289) **由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。