亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统

组件与物料清单

组件数量
Arduino Nano R31
IO 扩展板1
IO 扩展板套件1
2 路 1-Wire 转 I2C 模块2
1-Wire 分线盒1
光学连接器1
分线器1
4 路 5V 直流继电器模块1
TSL2561 光照传感器1
DS18B20 防水温度传感器1
光学红外水位/雨量传感器1
DS3231 AT24C32 高精度 RTC 时钟模块1
I2C SSD1306 OLED 128x64 显示屏1
200x120x75mm 防水透明外壳1
100x68x50mm 防水透明外壳1
IP68 PG7 防水尼龙电缆密封接头1
IP68 PG11 防水尼龙电缆密封接头1
RJ11 基石螺丝端子插座1
50ft 4C4P RJ11 电话线1
6ft 4C4P RJ11 电话线1
2.54mm 排针连接线若干
SPST 微动按钮开关2
12VDC 1A 墙插电源适配器1

软件与在线服务

项目概述

打造智能灌溉控制器

本项目旨在构建一套基于 Arduino 的智能灌溉系统,能够根据实时环境数据动态调整浇水计划,实现节水、防冻、防真菌生长等功能。核心特性包括:

Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统

为什么选择 IO 扩展板?

IO 扩展板将多种外设驱动(1-Wire、RTC、EEPROM、OLED、温度、雨量等)集成在硬件层面,Arduino 仅需通过串口发送指令即可控制,极大简化了软件开发,节省 Flash 空间,也避免了编写各类底层驱动的繁琐工作。全系统仅用 3 天即可完成代码编写。

接线原理图

Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统

OLED 显示与菜单操作

Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统

短按 Menu 键进入菜单,循环切换 9 个选项;30 秒无操作自动退出。短按 Select 键执行当前选项功能。

系统组装指南

  1. 将 Arduino Nano 连接至 IO 扩展板,通过 ICSP 口烧录固件(USB 口与扩展板共用串口,烧录时需断开扩展板)。
  2. 修改代码中的 ONEWIRE_TO_I2C_ROM1 与 ONEWIRE_TO_I2C_ROM2 宏,填入你的 1-Wire 转 I2C 模块实际 ROM 地址。
  3. 分线器需焊接 0603 0Ω 电阻(R2 位置),将光学红外传感器数据线与 1-Wire 远程传感器线隔离。
  4. 在大外壳右侧开 11/16" 孔装 PG11 防水接头(供 12V、24VAC、电磁阀线、RJ11 远程线),小外壳开 7/16" 孔装 PG7 接头(供远程传感器线)。
  5. 微动开关焊接至 RJ11 端子,热缩管绝缘后安装到大外壳顶部(Menu/Select 两键)。
  6. 远程传感器盒(小外壳)安装在房屋东侧较高位置,光学雨量传感器与光照传感器朝天,无遮挡。
  7. 所有板卡用双面胶与泡沫固定在大外壳内,接线完成后通电测试。
Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统
Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统
Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统
Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统
Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统
Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统
Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统

重要更新说明

2019/09/12 - v1.1 版本

修复了系统长时间断电后重新上电启动异常的问题。

2019/10/02 - 上拉电阻冲突修正

当 1-Wire 转 I2C、DS3231 RTC 与 SSD1306 OLED 共享 I2C 总线时,三组上拉电阻并联导致等效阻值约 1.56kΩ,过强会造成 OLED 显示随机花屏。解决方法:移除 1-Wire 转 I2C 模块上的 R3、R4 以及 OLED 模块上的 R6、R7 上拉电阻,保留 DS3231 自带的电阻网络即可。

Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统

核心代码

完整代码已包含在项目文件中,主逻辑涵盖:RTC 时间同步、NVRAM 读写(CRC 校验)、日出检测算法、雨量累积判定、多区定时调度、按钮菜单交互、OLED 界面渲染、看门狗复位等。关键宏定义如下:

#define WATER_TIME_BEFORE_SUNRISE 60   // 日出前 60 分钟开始浇水
#define SUNRISE_LUX 100                // 判定日出的光照阈值
#define RAIN_DETECT_LEVEL 4.0          // 雨量检测阈值
#define DO_NOT_WATER_TEMP 4.4444       // 40°F 低温保护阈值
#define MAX_ZONES 4                    // 最大 4 个灌溉区

调度算法支持“日出相对时间”与“固定时间”两种模式,自动计算下一个浇水时刻并处理雨量抵扣。完整代码请参考项目文件中的 Smart Irrigation Controller。

演示视频

原理图

Arduino 智能灌溉控制器:集成天气与光照传感器的自动浇水系统

制造工艺

  1. 基于 Sensorflare 与树莓派的 433 MHz 智能家居控制器构建指南
  2. 树莓派 + MCP9808 + InfluxDB + Grafana:家庭温度监测系统
  3. 智能垃圾桶:基于蜂窝物联网的自动化废物管理解决方案
  4. 智能调酒师:树莓派驱动的自动鸡尾酒机
  5. 低成本情绪传感器与 EEG:实时情绪检测硬件方案
  6. 智能灌溉控制器:Windows 10 IoT + 树莓派 2 + XBee 土壤湿度传感器
  7. 传感器量产革新:Sensata 借智能机电一体化实现柔性精密装配
  8. TE Connectivity 8911:集成 LoRaWAN 无线加速度计,赋能高级振动监测
  9. 构建开源智慧农业系统:以低成本互操作IoT赋能农民
  10. ECM3532:Eta Compute首款集成超低功耗AI传感器板加速边缘开发
  11. 革命性超灵敏耐用应变传感器赋能智能纺织品
  12. 革命性超薄传感器增强智能隐形眼镜功能