基于 STM32 的植物生长环境监控系统

基于 STM32 的植物生长环境监控系统设计

导语

温度、湿度、土壤含水量与光照强度直接决定植物的生长质量。本文设计一种以 STM32F103C8T6 为核心的植物生长环境监控系统,整合 DHT11 温湿度传感器、YL-69 土壤湿度传感器与 GL5528 光敏电阻,OLED12864 实时呈现环境参数;参数低于阈值时自动启动加热继电器、浇水装置或 LED 补光灯,并经 ESP8266 将数据上传 APP 远程管理,为温室与家庭园艺提供低成本、高效能的智能种植方案。

一、系统功能总览

编号 功能名称 功能描述
F1 温湿度采集 DHT11 周期采样
F2 土壤湿度采集 YL-69 电阻式检测
F3 光照采集 GL5528 分压读 ADC
F4 自动加温 温度低触发加热继电器
F5 自动浇水 土壤湿度低触发浇水继电器
F6 自动补光 光照不足点亮 LED 灯
F7 阈值设定 按键输入三项阈值
F8 远程监控 ESP8266 上传 APP 查看

二、核心模块选型对比

2.1 主控模块选型

方案 型号 主频 优点 缺点
方案一 STM32F103C8T6 72 MHz 外设丰富、低功耗、生态成熟 无浮点
方案二 NXP LPC1768 120 MHz 性能更强 成本较高

选择方案一: 多传感器采集加继电器控制属中等复杂度应用,STM32F103C8T6 资源充足且开发效率高。

2.2 温湿度模块选型

方案 型号 接口 优点 缺点
方案一 DHT11 单总线 价格低、易集成 精度一般
方案二 SHT40 I²C ±0.3℃ / ±2%RH 高精度 成本较高

选择方案一: 阈值触发型控制对精度要求适中,DHT11 性能够用并显著降低系统成本。

2.3 土壤湿度模块选型

方案 型号 原理 优点 缺点
方案一 YL-69 电阻式双探针 成本低、接口简单 长期埋设需防腐
方案二 AM2120 电容式 耐用防水、稳定性好 价格较高

选择方案一: 面向预算有限的家庭园艺与温室监测,YL-69 性价比突出,配合定期更换探针即可长期使用。

2.4 光照模块选型

方案 型号 输出 优点 缺点
方案一 GL5528 模拟 价格低、分压电路简单 需 ADC
方案二 TSL2561 数字 I²C 高精度、线性度好 成本较高

选择方案一: 补光判断只需光照强弱分档,GL5528 加分压电路直读 ADC 即可满足需求。

2.5 显示模块选型

方案 型号 分辨率 优点 缺点
方案一 OLED12864 128×64 自发光、对比度高、功耗低 单色
方案二 ST7735 TFT 128×128 彩色 色彩丰富 成本功耗较高

选择方案一: 多参数文本显示足够,OLED 在高对比度与快速响应场景表现优异。

2.6 无线通信模块选型

方案 型号 技术 优点 缺点
方案一 ESP8266 Wi-Fi 可直连互联网、生态成熟 传输距离受限
方案二 nRF905 433 MHz 距离远、抗干扰 不能直连互联网

选择方案一: 系统需与手机 APP 交互,ESP8266 支持直接联网,开发资源与社区支持丰富。

三、系统接线总表

模块 引脚 MCU 引脚 说明
DHT11 DATA PA0 单总线
YL-69 OUT PA1 ADC1 输入
GL5528 AO PA2 ADC1 输入
OLED12864 SDA/SCL PB7/PB6 I²C1
ESP8266 TX/RX PA10/PA9 USART1
加热继电器 IN PB0 温度控制
浇水继电器 IN PB1 水泵控制
LED 补光灯 驱动 PB2 PWM 调光
按键 K1--K3 一端 PA8/PA11/PA12 阈值设定

四、系统软件设计

4.1 主程序流程

上电初始化各外设后进入主循环:采集温湿度、土壤湿度与光照 → OLED 刷新 → 与阈值比较,温度低启动加热、土壤干启动浇水、光照弱点亮 LED → 数据经 Wi-Fi 上传 APP → 扫描按键更新阈值。

复制代码
int main(void)
{
    SystemInit();
    ADC1_Init();
    OLED_Init();
    DHT11_Init();
    ESP8266_Init();
    ESP8266_JoinAP("farm","pwd");

    while (1)
    {
        /* 1. 数据采集 */
        DHT11_Read(&temp, &humi);
        soil  = ADC_Read(PA1);
        light = ADC_Read(PA2);

        /* 2. 环境调节 */
        if (temp < TEMP_TH)   Relay_Heat_On();
        if (soil  < SOIL_TH)  Relay_Water_On();
        if (light < LIGHT_TH) LED_On();
        else                  LED_Off();

        /* 3. 显示与上报 */
        OLED_Show(temp, humi, soil, light);
        ESP8266_Send("T=%d,H=%d,S=%d,L=%d",
                     temp, humi, soil, light);
        Key_Scan();
        delay_ms(500);
    }
}

4.2 土壤湿度检测流程

YL-69 双探针插入土壤,OUT 输出随湿度变化的模拟电压;ADC 多次采样平均后与标定曲线比对,映射为土壤湿度百分比参与阈值判断。

4.3 光照检测流程

GL5528 与固定电阻分压,光照越强阻值越小、分压点电压越高;程序读 ADC 值后分为弱/中/强三档,弱档触发补光并支持 PWM 渐亮。

4.4 无线通信流程

ESP8266 通过 AT 指令入网并连接 APP 服务端,按 "T=%d,H=%d,S=%d,L=%d" 格式周期上传;APP 可下发阈值指令,单片机解析后更新本地参数。

五、系统实现与测试

5.1 硬件调试

焊接后检查 3.3 V/5 V 电源;YL-69 探针做防水包扎后插入盆土;继电器板与主控共地,水泵由继电器隔离驱动,动作可靠。

5.2 软件调试

Keil 下断点观察 ADC 平均值与阈值判断逻辑;联合串口助手验证 ESP8266 入网与数据上传格式,调整采样周期消除读数抖动。

5.3 功能测试

测试编号 测试步骤 预期 结论
T1 DHT11 对哈气 温湿度上升并显示 通过
T2 向盆土浇水 土壤湿度数值升高 通过
T3 遮挡 GL5528 光照下降,LED 补光 通过
T4 温度低于阈值 加热继电器吸合 通过
T5 土壤偏干 浇水继电器吸合 通过
T6 按键改阈值 OLED 与控制同步更新 通过
T7 APP 远程查看 数据实时刷新 通过

六、总结

本文以 STM32F103C8T6 为核心设计了植物生长环境监控系统,整合 DHT11、YL-69、GL5528、OLED12864 与 ESP8266,实现温湿度、土壤湿度、光照三参数实时监测与加热、浇水、补光自动调节,并支持 APP 远程管理;系统运行稳定、功能全面,为农业智能化提供了低成本、高效能的解决方案,可进一步扩展多节点组网与云端数据分析。

七、资料内容完整工程资料(原理图、PCB、代码、元件清单)

八、资料获取方式

相关推荐
威嵌神州8 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Zw-awa12 小时前
MPU6050:从原始加速度到姿态变化
stm32
少司府13 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
shimly12345614 小时前
(done) 嵌入式硬件电路图 (8) 获取芯片手册信息
嵌入式硬件
Zwawa16 小时前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
c语言·单片机·嵌入式
简单电磁炮17 小时前
FWD八位单片机调试问题
单片机·嵌入式硬件
shimly12345619 小时前
(done) 嵌入式硬件电路图 (6) 重要的元器件特性之MOS管
嵌入式硬件
菥蓂寻生1 天前
STM32移植到GD32中以105为例
stm32·单片机·嵌入式硬件
Zw-awa1 天前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
stm32
橘为己有4412 天前
51单片机:定时/计数器
单片机·51单片机