一、功能概述
项目名称:基于单片机的养殖场环境控制系统设计
项目标识码:dz-898
主控芯片型号:STM32F103C8T6
系统具备以下核心功能:
- 利用DHT11传感器实时采集环境中的温度与湿度数据。当检测值超过设定上限时,自动启动通风装置;若湿度低于下限,则触发加湿操作,并同步启动声光报警提示。
- 采用GP2Y10粉尘传感器监测空气中的颗粒物浓度。一旦浓度超出预设阈值,系统将启动排风设备并激活声光报警机制。
- 配备光照强度检测模块,用于持续监控养殖区域的光照水平。
- 集成实时时钟模块,支持用户设定定时任务,到达指定时间后自动执行喂食和供水操作。
- 根据光照检测结果,若光线强度低于设定最低值,系统会自动开启补光灯以维持适宜光照条件。
- 通过按键模块实现参数设置功能,可调整各项阈值,控制通风、补光、喂水及喂食等执行机构的工作状态。
- OLED显示屏用于实时展示各类监测数据及系统运行状态信息。
二、系统结构框图
设计使用VISIO软件绘制整体系统架构图。
本系统以STM32F103C8T6作为主控单元,协同多个功能模块共同完成对养殖环境的智能调控。整个系统分为中央处理单元、输入模块和输出执行模块三大组成部分。
中央控制器:选用STM32F103C8T6单片机,负责接收来自各传感器的数据,进行逻辑分析与判断,并据此发出控制指令驱动外部设备动作。
输入部分由六个模块构成:
- 温湿度传感模块:用于采集当前环境的温度与湿度信息。
- 粉尘浓度检测模块:实时监测空气中粉尘含量。
- 光照强度检测模块:获取环境光照强度数据。
- 时钟模块:提供准确的时间基准,支持定时控制功能。
- 按键输入模块:实现界面切换、参数设置及模式选择等功能。
- 电源供电模块:为整个系统提供稳定电力支持。
输出部分包括三个主要模块:
- 显示模块:采用OLED屏幕,用于呈现监测数据及配置界面。
- 继电器控制模块:包含五个独立继电器,分别控制风扇、加湿器、补光灯、喂水装置和喂食装置的启停。
- 声光报警模块:在环境参数异常时发出视觉与听觉警报信号。
三、实物展示
主控芯片:STM32F103C8T6
PCB板特征:绿色双层电路板,厚度为1.2mm,上下层均覆铜并接地,提升抗干扰能力。大部分元器件采用直插封装形式,仅个别降压芯片使用贴片工艺。
供电接口类型:Type-C 接口,便于连接与供电。
四、电路原理图说明
设计软件版本:Altium Designer 2013(AD2013)
连线方式:采用网络标号方式进行电气连接。
注意事项:所提供的原理图为各功能模块的引脚连接示意图,并非模块内部详细电路结构图。
五、PCB布局图说明
PCB图由原理图导入生成,大部分元器件封装由设计者自行绘制,不单独提供封装库文件,仅提供完整连接的源工程文件。
电路板为双层结构,顶层与底层均进行覆铜处理并连接地线,增强系统稳定性与抗干扰性能。
板上设有项目编号标识,位置隐藏于单片机底座下方,安装单片机后该编号不可见。
六、程序代码展示
开发环境:Keil uVision5(Keil5)
软件架构上将逻辑控制程序与硬件驱动程序分离,分别存放于main.c及其他对应的.c源文件中,提高代码可读性与维护性。
/**********************************
函数名:按键函数
传参值:无
返回值:无
**********************************/
void Key_Function(void)
{
key_num = Chiclet_Keyboard_Scan(0); //按键扫描,获取键值
if(key_num != 0) //有按键按下
{
switch(key_num)
{
case 1: //按键1:切换界面
display_num++;
if(display_num >= 12)
{
display_num = 0;
}
Oled_Clear_All(); //清屏
break;
case 2: //按键2
switch(display_num)
{
case 0: //界面0:选择继电器
flag_relay++;
if(flag_relay >= 6)
{
flag_relay = 0;
}

雷达卡


京公网安备 11010802022788号







