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

八、资料获取方式
