Loading... # 序 我买了泥土和香菜种子,打算种点香菜吃,就想起是不是可以弄个自动灌溉,所以就弄了土壤水分检测。。。 因为手上本来就有esp8266,所以就直接用这个了。 我参考的是[这篇文章](https://codess.cc/archives/375.html#comment-1538),他用的是ESP12和8266还不一样,他加了电阻,但是我发现8266好像不需要,然后8266也有3.3v的供电,挺方便的。 # 原料 声明:原料全部为自费购买,没有推广! - esp8266,烧录esphome固件,这个固件是挺好用的,具体的烧录方法就不赘述了,网上很多。 - [电容式土壤湿度传感器模块](https://m.tb.cn/h.fIfPOPV?tk=NqgM2jYu2ab) - 杜邦线 # 组装 组装很简单 传感器GND --- 8266的G 传感器VCC --- 8266的3v 传感器AUOT --- 8266的A0 # 代码 ``` sensor: - platform: adc unit_of_measurement: "%" icon: "mdi:flower-outline" accuracy_decimals: 0 pin: A0 filters: - lambda: |- if (x > 0.68) { return 0; } else if (x < 0.29) { return 100; } else { return (0.68-x) / (0.68-0.29) * 100.0; } name: "Soil Sensor" update_interval: 60s ``` 因为厂家没有给数据,所以我们只能自己测试,我这里是只测试了百分之0和百分之100的时候。它这个是检测湿度,湿度越高电压越低。 ## 如何测试电压 其实只要把代码改动一下 ``` filters: - lambda: |- return x; name: "Soil Sensor" update_interval: 30s ``` 这样我们直接return x就是直接返回电压,然后就可以在日志里看到电压了,我们记录直接把它插入水里(湿度百分百),和在空气中干燥的时候(湿度百分之0),记录两个电压把上面的代码的两个数字改成我们记录的就行了。 当然你可以更加复杂的统计,但是我没有这个条件,只能测试0和100。   # node-red自动化 其实打算弄个小水泵,湿度降低到一定的程度自动放水,但是懒了。。。以后再说吧,目前我用node-red做了个通知而已。     ``` { "message": "该浇水了", "title": "该浇水了" } ``` 最后修改:2022 年 05 月 01 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏