RaspberryPi和Arduino温室恒温改进

本文详细介绍了将树莓派用于温室温度控制时遇到的问题,包括DHT11传感器读取错误,以及如何通过将温度传感器控制移至Arduino并使用串口通信与树莓派进行交互来解决这些问题。Arduino Commander程序与SimpleSerial库的运用显著提高了数据读取的准确性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前一篇文章使用RaspberryPi和Arduino控制温室的温度,发现树莓派读取温度是总会出错,原因在于DHT11的控制协议是微秒级别的,但是树莓派达不到,因此改成传感器都有Arduino控制,树莓派和Arduino之间使用串口通信。

Arduino上运行的程序如下:Arduino Commander,这个程序用到了SimpleSerialSimpleDHT这两个库。

树莓派上运行的程序是:RaspberryPi Greenhouse,用到了Python的串口通信库SimpleSerial

主要的改进是:

  1. Arduino控制温度传感器,读取数据最高频率为1秒,数据几乎不出错,比树莓派上读取温度湿度信息好非常多了。
  2. 树莓派和Arduino通过SImpleSerial串口命令协议通信,该协议使用了容错,也意味着程序需要考虑命令可能没有成功执行的情况。
  3. 树莓派发送升温命令给Arduino,同时有目标温度和有效时间,Arduino开启继电器加热时,会检测目标温度以及有效时间,如果温度达到或者有效时间超时都会停止加热。也就是部分控制逻辑也在Arduino上,Arduino不仅仅是个执行器。

最后,上图:

改进恒温系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

winlinvip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值