基于 STM32 的小型鸟类宠物繁殖系统

基于 STM32 的小型鸟类宠物繁殖系统设计

针对家庭鸟类宠物繁殖过程中对环境要求高、手动管理负担重的问题,本文设计一种以 STM32F103C8T6 单片机为核心的小型鸟类宠物繁殖系统,整合 HX711 称重(食物 / 水)、DS18B20 温度传感器、OLED12864 本地显示、ESP8266 远程通信与继电器控制模块,实现食物与水的自动补给、温度恒定、一键消毒与远程管理。

一、系统功能总览

功能编号 功能名称 说明
F1 食物检测 HX711 称重食物重量
F2 水检测 HX711 称重水重量
F3 温度采集 DS18B20 数字温度
F4 自动加食 低于阈值启动补食继电器
F5 自动加水 低于阈值启动补水继电器
F6 恒温控制 加热膜 + 散热风扇
F7 消毒控制 紫外消毒灯一键启动
F8 APP 远程 ESP8266 接入家庭 Wi-Fi

二、核心模块选型对比

2.1 主控模块选型

方案 型号 备注
方案 1 STM32F103C8T6 64 KB / 20 KB,可挂多个 UART
方案 2 Arduino UNO 资源紧张,扩展有限

选择方案 1:需驱动 OLED、ESP8266、继电器多个模块。

2.2 称重模块选型

方案 模块 输出
方案 1 HX711 + 5 kg 压力传感器 24 位 ADC
方案 2 应变片 + INA125 需独立 ADC

选择方案 1:HX711 集成放大与 24 位 ADC,精度高、电路简单。

2.3 温度模块选型

方案 型号 量程
方案 1 DS18B20 -55~125 ℃
方案 2 DHT11 0~50 ℃

选择方案 1:孵化期环境温度通常 30~40 ℃,DS18B20 量程与精度更匹配。

2.4 显示模块选型

方案 模块 接口
方案 1 OLED12864 I2C
方案 2 LCD1602 字符有限

选择方案 1:同时显示食物、水、温度更清晰。

2.5 无线模块选型

方案 模块 优势
方案 1 ESP8266 直连 Wi-Fi
方案 2 NRF24L01 仅短距离

选择方案 1:家庭 Wi-Fi 覆盖下更便利。

三、系统接线总表

模块 引脚 单片机端 备注
HX711 ×2 VCC/GND/DT/SCK 3.3 V / GND / PA0/PA1、PA2/PA3 食物 / 水独立量程
DS18B20 VCC/GND/DQ 3.3 V / GND / PA4 4.7 kΩ 上拉
OLED12864 VCC/GND/SCL/SDA 3.3 V / GND / PB6 / PB7 I2C
ESP8266 VCC/GND/TX/RX/CH_PD 3.3 V / GND / PA10/PA9/3.3 V UART
继电器 ×4 IN/VCC/GND PB0、PB1、PB2、PB3 / 5 V / GND 加食 / 加水 / 加热 / 消毒

四、系统软件设计

4.1 主程序流程

复制代码
int main(void)
{
    SystemInit();
    HX711_Init();
    DS18B20_Init();
    OLED_Init();
    ESP8266_Init();

    while (1)
    {
        float food = HX711_Get(HX711_FOOD);
        float water = HX711_Get(HX711_WATER);
        float t = DS18B20_Read();

        if (food  < FOOD_LO) Food_On();
        if (water < WATER_LO) Water_On();
        if (t < TEMP_LO) Heat_On(); else if (t > TEMP_HI) Heat_Off();
        if (Key_DisinfectPressed()) Disinfect_On();

        OLED_Show(food, water, t);
        ESP8266_Publish(food, water, t);
        delay_ms(1000);
    }
}

4.2 HX711 校准

采用两组已知砝码进行线性拟合,得到 weight = (raw - offset) / scale。

4.3 DS18B20 单总线

主机拉低 480 μs → 等待响应 → 发送 0x44 转换 → 延时 750 ms → 发送 0xBE 读取 16 位温度。

4.4 ESP8266 上报

以 MQTT 主题 bird/state 每秒发布一次食物 / 水 / 温度,方便手机端查看。

五、系统实现与测试

5.1 硬件焊接与测试

HX711 与压力传感器之间用屏蔽线连接,避免电磁干扰;紫外线消毒灯与温度传感器注意物理隔离,避免误报。

5.2 软件调试

Keil 5 + ST-Link,串口日志配合 OLED 现场显示。

5.3 功能测试结果

测试项目 操作 结果
食物称重 200 g 砝码 误差 ≤ ±2 g
水称重 500 g 容器装水 误差 ≤ ±5 g
温度恒定 设定 35 ℃ ±1 ℃ 偏差 ≤ ±0.5 ℃
消毒触发 长按按键 紫外线灯亮起 30 s 后关闭
APP 查看 改变阈值 自动补水立即生效

六、总结

本文基于 STM32F103C8T6 设计了一套适合家庭鸟类宠物的小型繁殖系统,整合 HX711 称重、DS18B20、OLED 与 ESP8266,提供了食物与水自动补给、温度恒定和一键消毒等日常运维功能,并通过手机 APP 实现了远程管理与阈值下发。整套方案硬件简洁、扩展灵活,可为家庭宠物、动物园繁衍区等场景提供一个易复刻的智能管理样机。

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

八、资料获取方式

相关推荐
jucat12 小时前
拆个烟雾报警器
嵌入式硬件
HRTOS13 小时前
HRTOS 高速任务与中断嵌套的 8051 寄存器组资源说明
单片机·嵌入式硬件·系统架构·51单片机
新晨单片机设计13 小时前
S010C-基于STM32单片机水温控制系统(OLED显示)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·水温控制系统
lhbweilai14 小时前
从底层了解STM32八大功能(下)
stm32·单片机
新晨单片机设计14 小时前
S009C-基于STM32单片机语音出租车计价器【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·出租车计价器
zhangrelay14 小时前
Arduino-MEGA单片机智能大模型解答案例对比-正反
单片机·嵌入式硬件
思麟呀15 小时前
嵌入式入门(三)RCC与时钟树深度解析
嵌入式硬件
暖焰核心15 小时前
RCC 概念篇——单片机的心跳从哪来
单片机·嵌入式硬件
Zw-awa15 小时前
volatile 与寄存器:SysTick->VAL 到底在读什么
stm32
Naisu Xu15 小时前
AGM SOC AG32VF407(MCU+CPLD)点灯测试
单片机·嵌入式硬件