基于 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、代码、元件清单)

八、资料获取方式

相关推荐
创界工坊工作室1 小时前
56-基于STC89C52的智能声控饮水机设计
stm32·单片机·嵌入式硬件·51单片机·proteus
LCG米1 小时前
STM32 DMA 多通道链式传输实测:请求仲裁顺序错位根因、半满中断乒乓与高速并发搬运落地
stm32·单片机·嵌入式·1024程序员节
hkj88082 小时前
stm32 ADC DMA 循环模式配合双缓冲分块(Ping-Pong)
stm32·单片机·嵌入式硬件
POMAGTOR4 小时前
【磁吸式连接器选型工程解析:结构原理、应用场景与选型可靠性要点】
网络·嵌入式硬件
RFID科技的魅力5 小时前
2026 年 RFID 资产标签批量制作怎么做?RFID 标签打印机实操指南
运维·人工智能·嵌入式硬件·物联网
Sakura_j_h_7 小时前
STM32F103 定时器的三种用法:PWM 输出、输入捕获与编码器接口
stm32·嵌入式·输入捕获·定时器·pwm·编码器·1024程序员节
Lxx_Zw7 小时前
机器周期与共地:时钟基准和电压参考基准
stm32·单片机·嵌入式硬件
我叫洋洋8 小时前
用 Qoder(AI 编程助手)把 Cadence 16.6 从零配到能画板
人工智能·单片机·嵌入式硬件·电路·1024程序员节
Zw-awa9 小时前
LED 灯珠与限流电阻
stm32