一、项目功能概述
项目名称:智能家居检测系统设计
项目编号:dz-902
主控芯片:STC89C52单片机
本系统集成了多种环境感知与安全控制功能,具体如下:
- 采用MQ-2传感器实时监测环境中烟雾浓度。当浓度超过设定阈值时,自动启动通风风扇,并触发声光报警装置,同时通过蓝牙向手机端发送告警信息。
- 利用DS18B20数字温度传感器采集环境温度数据。若检测温度高于预设上限,系统将启动声光报警、开启风扇散热,并向用户手机推送提醒。
- 配备火焰感应模块用于火灾识别。一旦探测到明火,立即启动水泵进行灭火操作,同步启动报警系统并向手机发送火灾通知。
- 集成D203S人体热释电红外传感器实现人员检测。当检测到有人活动且密码输入错误时,持续报警3秒并通知手机;若密码正确,则执行开锁动作,3秒后自动闭锁。
- 支持通过4×4矩阵键盘对各项参数阈值进行修改和设置。
- LCD1602液晶屏用于实时显示各类监测数据及系统配置信息。
- 内置蓝牙通信模块,可实现双向数据交互:既可将现场数据上传至手机端,也允许用户通过手机远程调整参数设置。
二、系统结构设计
设计工具:VISIO
整个系统以单片机为核心控制单元,协同多个功能模块共同完成智能化监控任务。系统架构分为三大组成部分:中央控制模块、输入模块和输出模块。
中央控制模块:采用STC89C52作为主控制器,负责接收来自各传感器的数据信号,进行逻辑分析与判断,并据此驱动相应的执行机构做出响应。
输入模块包含以下六个部分:
- 温度检测单元:使用DS18B20获取当前环境温度值。
- 烟雾检测单元:由MQ-2传感器构成,用以测量空气中的烟雾含量。
- 火焰探测单元:实时判断是否存在火焰,提供早期火灾预警。
- 人体感应单元:通过D203S热释电传感器侦测区域内是否有人体移动。
- 按键输入单元:采用矩阵键盘实现密码输入、界面切换及参数设定等功能。
- 电源供电单元:为整个系统提供稳定工作电压。
输出模块由三大部分组成:
- 数据显示单元:LCD1602显示屏用于呈现实时监测数值与系统状态。
- 继电器驱动单元:控制通风风扇、水泵以及电子锁等外部设备的启停。
- 声光报警单元:在异常情况下(如非法闯入或环境超标)发出视听警示信号。
此外,蓝牙模块具备双重角色——既是输出通道也是输入接口。它能将本地采集的数据无线传输至手机APP,同时也支持从手机端下发控制指令,例如修改报警阈值、远程开关门锁等操作。
三、硬件实物展示
实际使用的主控型号:STM32F103C8T6
PCB板特征:绿色双层电路板,厚度为1.2mm,上下两面均覆铜并接地处理,提升抗干扰能力。
元器件以插件形式为主,仅部分电源管理芯片采用贴片封装。
供电方式:通过TYPE-C接口接入电源。
四、电路原理图说明
设计软件版本:Altium Designer 2013
连接方式采用网络标号法进行布线标识。
请注意:所提供的原理图为模块级引脚连接图,并未展示各功能模块内部的具体电路结构。
五、PCB布局图介绍
PCB图由原理图导出生成,大部分元器件封装由设计者自行绘制,不单独提供封装库文件,仅提供完整连接的源工程文件。
板子为双层结构,顶层和底层均进行覆铜并连接地线,增强系统稳定性。
PCB中央位置设有项目编号标记,该标识位于单片机插座下方,安装芯片后即被遮挡不可见。
六、程序代码片段展示
开发环境:Keil uVision5
软件架构上将逻辑控制程序与底层驱动程序分离处理,main.c文件主要负责整体流程控制,其余.c文件则分别实现各个外设的驱动功能。
*******确认函数
*****/
void Ensure_function(void)
{
char temp_source[13] = {0};
uchar i = 0;
char temp_sub[6] = {0};
for(i = 0;i < 12;i++)
{
temp_source[i] = password_input[i]+'0';
}
for(i = 0;i < 6;i++)
{
if(flag_reset_password == 0 || flag_reset_password == 2)
temp_sub[i] = password[i]+'0';
else if(flag_reset_password == 1)
temp_sub[i] = admipassword[i]+'0';
else if(flag_reset_password == 4)
temp_sub[i] = password_reset[i]+'0';
}

雷达卡


京公网安备 11010802022788号







