news 2026/4/16 15:25:41

用Arduino打造智能大棚监控系统(附全套资源)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用Arduino打造智能大棚监控系统(附全套资源)

基于Arduino的温室大棚环境监测与控制系统: 1.使用DHT11温湿度传感器,实时监测大棚温湿度,数据一方面实时显示在OLED屏,另一方面上传手机APP,湿度过低时自动控制加湿器进行加湿,达到一定湿度后停止加湿(加湿过程中,可以物理性关闭),温度过高时,可通过手机蓝牙控制风扇进行降温; 2.SGP30气体传感器,实时监测大棚内二氧化碳浓度含量和TVOC(空气质量),数据显示在屏幕上,可通过手机蓝牙控制窗户的开关(使用步进电机和ULN2003电机驱动模拟),进行空气交换(可以和风扇同时进行); 3.使用土壤湿度传感器实时检测大棚内土壤湿度,一方面将数据显示在屏幕上,另一方面上传手机APP,当土壤湿度低于阈值时,自动打开抽水机进行浇水,高于阈值停止浇水。 包含源码,库文件,APP,接线表,硬件清单等资料。 不包含实物! 不包含实物! 不包含实物!

最近帮朋友折腾了个大棚环境监控项目,完全基于Arduino开发。整个系统能实现温湿度自动调节、空气质量监测、土壤自动灌溉三大核心功能。最爽的是所有数据都能手机查看,还能远程控制设备。下面直接上干货。


硬件全家桶

主控用Arduino Mega(IO口多到任性),传感器全家福:

  • DHT11温湿度传感器 ×1
  • SGP30气体传感器 ×1
  • 土壤湿度传感器 ×1
  • 0.96寸OLED屏幕 ×1
  • HC-05蓝牙模块 ×1
  • ULN2003驱动板+28BYJ-48步进电机 ×1
  • 5V继电器模块 ×2(控制加湿器/水泵)
  • 小风扇 ×1

接线表(核心部分):

DHT11 → D2 SGP30 → SDA(20)/SCL(21) OLED → SDA(20)/SCL(21) 蓝牙TX → RX1(19) 土壤传感器 → A0 步进电机 → IN1~IN4 → D8~D11 继电器1 → D3(加湿器) 继电器2 → D4(水泵) 风扇 → D5

代码里的骚操作

核心逻辑在三个传感器协同工作。先看温湿度控制部分:

// DHT数据采集 float h = dht.readHumidity(); float t = dht.readTemperature(); // OLED显示 u8g2.setCursor(0, 15); u8g2.print("Humid:"); u8g2.print(h); u8g2.print("%"); // 自动加湿 if(h < 60) digitalWrite(HUMIDIFIER_PIN, HIGH); else digitalWrite(HUMIDIFIER_PIN, LOW); // 蓝牙发送数据 if(millis() - lastBtTime > 5000){ btSerial.print("TEMP:");btSerial.print(t); btSerial.print("|HUMI:");btSerial.println(h); lastBtTime = millis(); }

这里有个小技巧:用millis()做非阻塞延时,比delay()更优雅。蓝牙每5秒发送数据,避免手机端数据刷屏。

气体监测部分有个坑要注意——SGP30需要基线校准:

// 初始化校准 if(!sgp.IAQinit()){ Serial.println("SGP30罢工了!"); while(1); } // 读取TVOC和CO2 sgp.IAQmeasure(); Serial.print("TVOC:");Serial.print(sgp.TVOC);Serial.print(" ppb\t"); Serial.print("CO2:");Serial.print(sgp.eCO2);Serial.println(" ppm"); // 控制步进电机开窗 if(sgp.eCO2 > 1000 || sgp.TVOC > 500){ openWindow(); // 自定义函数,控制步进电机转动 }

每次上电记得让传感器预热30秒,否则数据会飘。开窗动作用步进电机模拟,实际应用建议加限位开关。


土壤灌溉的防抖设计

土壤传感器容易受干扰,加了滑动平均滤波:

// 采样10次取平均 int soilMoisture = 0; for(int i=0; i<10; i++){ soilMoisture += analogRead(SOIL_PIN); delay(10); } soilMoisture /= 10; // 转换为百分比(根据实际标定) int moisturePercent = map(soilMoisture, 620, 310, 0, 100); // 自动灌溉 if(moisturePercent < 30){ digitalWrite(PUMP_PIN, HIGH); btSerial.println("PUMP:ON"); }else{ digitalWrite(PUMP_PIN, LOW); }

注意传感器的量程需要根据实际土壤类型标定,沙土和黏土的数值差异很大。


手机端控制方案

推荐使用"蓝牙串口助手"类APP,发送指令格式:

  • 开风扇 → T
  • 关风扇 → S
  • 开窗户 → W
  • 关窗户 → C

接收数据格式示例:

TEMP:25.3|HUMI:58%|TVOC:200ppb|CO2:800ppm|SOIL:45%

避坑指南
  1. DHT11读取失败时加个retry机制
  2. 步进电机别忘接续流二极管
  3. 继电器控制大功率设备时务必做物理隔离
  4. 多个I2C设备要检查地址是否冲突
  5. 供电不足会导致传感器数据异常

完整代码、库文件、APP源码、接线图已打包:

基于Arduino的温室大棚环境监测与控制系统: 1.使用DHT11温湿度传感器,实时监测大棚温湿度,数据一方面实时显示在OLED屏,另一方面上传手机APP,湿度过低时自动控制加湿器进行加湿,达到一定湿度后停止加湿(加湿过程中,可以物理性关闭),温度过高时,可通过手机蓝牙控制风扇进行降温; 2.SGP30气体传感器,实时监测大棚内二氧化碳浓度含量和TVOC(空气质量),数据显示在屏幕上,可通过手机蓝牙控制窗户的开关(使用步进电机和ULN2003电机驱动模拟),进行空气交换(可以和风扇同时进行); 3.使用土壤湿度传感器实时检测大棚内土壤湿度,一方面将数据显示在屏幕上,另一方面上传手机APP,当土壤湿度低于阈值时,自动打开抽水机进行浇水,高于阈值停止浇水。 包含源码,库文件,APP,接线表,硬件清单等资料。 不包含实物! 不包含实物! 不包含实物!

github.com/yourname/greenhouse-control(示例链接,需替换)

整套方案成本不到200块,比市面成品便宜不止亿点点。虽然不涉及实物搭建,但软件逻辑和硬件交互设计已经过实测验证。下次打算加个ESP8266搞云端监控,有人感兴趣的话评论区扣1,咱们接着肝!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:57:58

Multisim14仿真建模新手教程:零基础完成LED驱动设计

从零开始用Multisim14设计LED驱动电路&#xff1a;新手也能看懂的实战教程你是不是也曾经面对一堆电子元件和复杂的电路图&#xff0c;心里直打鼓&#xff1a;“这玩意儿怎么连&#xff1f;接错了会不会烧&#xff1f;”别担心&#xff0c;现在我们有了像Multisim14这样的仿真工…

作者头像 李华
网站建设 2026/4/10 23:16:07

IDA Pro下载文件校验:确保安全安装的步骤

如何安全下载 IDA Pro&#xff1a;绕过陷阱&#xff0c;确保工具链可信 你有没有想过&#xff0c;你每天依赖的逆向工程“利器”本身&#xff0c;会不会已经被人动了手脚&#xff1f; 在安全研究的世界里&#xff0c;我们习惯于剖析恶意软件、追踪攻击者踪迹&#xff0c;却常…

作者头像 李华
网站建设 2026/4/16 14:11:51

原子级薄材料显著缩小量子比特体积

原子级薄材料显著缩小量子比特体积 麻省理工学院的研究人员使用二维材料制造量子电路中的电容&#xff0c;以推动量子处理器的规模化。 量子计算的挑战 量子计算是一项极其复杂的技术&#xff0c;其发展面临诸多技术障碍。其中两个关键问题尤为突出&#xff1a;微型化和量子比特…

作者头像 李华
网站建设 2026/4/15 6:22:51

MediaPipe骨骼检测红点白线含义解析:可视化功能入门必看

MediaPipe骨骼检测红点白线含义解析&#xff1a;可视化功能入门必看 1. 技术背景与问题提出 随着人工智能在计算机视觉领域的深入发展&#xff0c;人体姿态估计&#xff08;Human Pose Estimation&#xff09;已成为智能健身、动作捕捉、虚拟现实和人机交互等场景的核心技术之…

作者头像 李华
网站建设 2026/4/16 12:58:42

java个人简历模板(合集)零基础入门到精通,收藏这篇就够了

2017java个人简历模板免费参考 ****2017java个人简历模板篇1****姓名&#xff1a;性别&#xff1a;男年龄&#xff1a;22学历&#xff1a;本科专业&#xff1a;计算机联系电话&#xff1a;xxx毕业院校&#xff1a;xxxxx主修课程&#xff1a;汇编语言程序设计、JAVA程序设计、数…

作者头像 李华