本帖最后由 海神 于 2022-5-17 15:50 编辑
简介
农业是用水大户,近年来农业用水量约占经济社会用水总量的62%,部分地区高达90%以上,农业用水效率不高,节水潜力很大。大力发展农业节水,在农业用水量基本稳定的同时扩大灌溉面积、提高灌溉保证率,是促进水资源可持续利用、保障国家粮食安全、加快转变经济发展方式的重要举措。 在自动灌溉系统中,我们使用了水泵电机与土壤温湿度传感器,其中,土壤温湿度传感用来收集土壤数据,从而监测土壤是否缺水,同时还会把收集到的数据给反馈到blinker手机APP上,达到合适的浇水条件时便打开水泵进行灌水,从而达到自动灌溉的目的。
土壤湿度传感器 此传感器属于模拟输入传感器,插入土壤中将采集到的湿度,进行模拟放大,可以得到一个模拟数值。我们可以通过这个模拟数值来判断当前土壤的湿度情况。 水泵电机 我们采用一个3V的立式小型潜水泵,可以直接将下端沉入水中,底部吸水进入,连接出水管喷水。理论上是可以直接接在主板引脚上,通过IO口的通断实现电机控制。但一般的电机我们不直接接在主板的引脚上,因为在运动时可能会产生较大的反向电流,从而烧毁主板。所以我们将水泵电机连接在继电器上,通过继电器的开关来控制水泵电机的开合,从而控制开关水。
硬件
DHT11温湿度传感器*1 土壤温湿度传感器*1 继电器*1 水泵电机*1
软件
blinker app 在blinker的设备中,我们需要添加三个数据控件,分别显示展示空气温度、空气湿度、土壤湿度的实时数据。
代码
代码中我们实时监测空气温度、空气湿度、土壤湿度的实时数据。当满足灌溉条件时候(这个温湿度条件是根据不同植物的生长属性来制定),我们就打开继电器,让连接在继电器上的电磁阀导通,打开水闸,进行灌水。 - #define BLINKER_WIFI
- #include <Blinker.h>
- #include <DHT.h>
- volatile int hum;
- volatile int tem;
- volatile int soil;
- DHT dhtD7(D7, 11);
- char auth[] = "dae8eaxxxx8";
- char ssid[] = "mxxxxxn";
- char pswd[] = "cdxxxxxx51";
- BlinkerNumber Number1("num-abc");
- BlinkerNumber Number2("num-abd");
- BlinkerNumber Number3("num-abe");
- void dataStorage(){
- Blinker.dataStorage("num-abc", hum);
- Blinker.dataStorage("num-abd", tem);
- Blinker.dataStorage("num-abe", soil);
- }
- BlinkerText Text1("TextKey");
- void setup(){
- Blinker.begin(auth,ssid,pswd);
- hum = 0;
- tem = 0;
- soil = 0;
- pinMode(D13, OUTPUT);
- dhtD7.begin();
- Blinker.attachDataStorage(dataStorage);
- }
- void loop(){
- hum = dhtD7.readHumidity();
- tem = dhtD7.readTemperature();
- soil = analogRead(A0);
- delay(100);
- Number1.print(hum);
- Number2.print(tem);
- Number3.print(soil);
- if (soil < 200) {
- Text1.print("灌溉中");
- digitalWrite(D13,HIGH);
- } else if (soil >= 200) {
- Text1.print("湿度正常");
- digitalWrite(D13,LOW);
- }
- Blinker.run();
- }
复制代码
blinker定制软件界面
随后添加一个图表控件,设置图表控件添加三个键名以及对应的显示文本,与以上上个按键名称相对应。环境湿度——num-abc;环境温度——num-abd;土壤湿度——num-abe 设置成功后,回到主界面,调整各个控件的位置达到想要的界面效果,点击解锁,完成控件编辑。
将温湿度传感器接在D7接口中,继电器接在D13接口中。土壤湿度传感器接线在A0接口中。 土壤湿度传感器插入在植物土壤中,水泵电机放置在水中,保证水泵底部接触到水,同事水泵的接线位置保证不与水接触。水泵出水口连接水管,水管放入植物花盆中。
视频展示

blinker物联网教程目录
blinker物联网教程——1、物联网及blinker介绍
blinker物联网教程——2、搭建编程环境
blinker物联网教程——3、主控硬件wifiduino
blinker物联网教程——4、控制开关灯
blinker物联网教程——5、认识传感器
blinker物联网教程——6、wifi智能插座
blinker物联网教程——7、室内温湿度计
blinker物联网教程——8、定时任务-定时震动器
blinker物联网教程——9、blinker语音识别-芝麻开门
blinker物联网教程——10、日照时间分析
blinker物联网教程——11、自动灌溉
blinker物联网教程——12、调色盘
blinker物联网教程——13、公园噪音监测
blinker物联网教程——14、智能停车场
blinker物联网教程——15、智能家居
blinker物联网教程——16、遥控机械臂
blinker物联网教程——17、防疫隔离门磁
blinker物联网教程——18、手机控制空调
blinker物联网教程——19、接入小度智能音箱
blinker物联网教程——20、语音氛围灯
blinker物联网教程——23、wifi智能小车
blinker物联网教程——24、智能宠物喂食器
|