基于单片机的智能家居安防系统设计

摘 要

为了应对目前人们提出的对生活越来越智能的要求,在提高生活品质的同时降低意外事件发生对用户造成的经济损失或其他损失。针对日常生活中经常发生的火灾,失窃,电力资源浪费等生活问题,本设计正是在这种需求背景下展开研究。基于单片机的智能家居安防系统设计集成了防可燃气体烟雾泄露 、防外来人员入侵、防火、智能控制家电等功能,可实现自动检测、声光报警、远程查询、远程报警、远程控制等。
以STC89C52单片机为核心器件,再加上电阻,电容,晶体振荡器等器件,构成了单片机的最小系统。以及其它智能探测器组成的检测模块,在监测到灾情时只输出报警信号开关量,单片机处理器自动控制GSM接口电路。根据险情类别,自动向用户手机发送短信报警,当用户在家遇到灾情或其他情况时,亦可通过求救按钮向外界发出报警信息。
本设计具有成本较低,功能实用,灵活多样,简便有效等特点,有效的降低了用户住宅遇到和发生险情及其他意外事件的风险,有效的避免了因险情及其他意外事件造成的经济及其他损失,将居民损失降到最小,同时也将提高用户的生活品质水平。

关键词:安防系统; 智能家居; 单片机; GSM模块; 远程报警

1 控制系统方案设计
1.1 设计要求
(1)进入系统后,液晶屏实时显示当前温度传感器所测温度值以及当前设置温度传感器报警阈值,通过“温度加”及“温度减”来对温度报警的阈值来进行调节。
(2)如所测温度值达到报警阈值后,系统启动声光报警,并发送英文报警短信到用户手机。
(3)用户开始设防之后,红外人体模块检测到有人时,系统启动声光报警,并发送英文报警短信到用户手机。
(4)如可燃气体/烟雾传感器检测到可燃气体/烟雾时,系统启动声光报警,并发送英文报警短信到用户手机。
(5)如用户需了解屋内当前温度值时,通过任意手机拨打电话,系统自动挂断电话,并回复屋内当前温度值。
(6)用户可通过手机编辑短信发送到手机模块的方式,控制继电器闭合与断开,利用LED灯的亮与灭,表示家用电器开启与关闭。
1.2 总控制方案设计
以STC89C52单片机作为系统的“心脏”,加上电阻、电容、晶振等器件的加持,组成最小系统[4]。以及其它智能探测器组成的检测模块,在监测到灾情时只输出报警信号开关量,单片机处理器自动控制GSM接口电路。根据险情类别,自动向用户手机发送短信报警,当用户在家遇到灾情或其他情况时,亦可通过求救按钮向外界发出报警信息。总控制框图如图1.1所示。
1.3 单片机方案设计及工作原理
方案一:采用32位的LPC2138作为控制CPU,LPC2138采用了PHILIPS公司基于ARM7TDMI-S核的ARM芯片,拥有RDI标准接口、同步Flash刷新技术以及影射寄存器窗口等三项国内ARM仿真器设计最领先的3种技术,内部PLL锁相环倍频可以得到更高的CPU处理速度,硬件自带的AD、DA、捕获、匹配以及同步与异步的通信方式更方便用户的编程设计,并且可以达到很高的实时性,但是价格较昂贵[5]。
在这里插入图片描述图1.1系统总体框图
2 硬件设计
2.1 主电路设计
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有60K 在系统可编程Flash 存储器器、中央处理器、程序存储器(Flash)、数据存储器(RAM)、EEPROM、定时/计数器、I/O接口、UART接口和中断系统、SPI接口、高速A/D转换模块、PWM(或捕捉/比较单元)以及硬件看门狗、电源监控、片内RC振荡器等模块[12]。
本系统设计主要应用的是A/D转换模块、SPI接口、定时/计数器、I/O接口等功能模块。具体原理图如图2.1所示。

在这里插入图片描述

图2.1单片机主电路原理图

2.2 GSM模块电路设计
用户和单片机的通讯功能的实现,依赖于SIM800L GSM模块自身配置的通讯接口。系统方案中的短信控制,接收报警短信,打电话查询当前温度值,只要保证网络信号畅通都可以轻松地实现。3.3~5.5V是SIM800L模块的工作电压,根据其工作频段的不同(900MHz和1800MHz),功耗也有所不同分别为2w(900M)和1w(1800M)[13]。
系统短信的发送与接收和自动挂断电话,利用到的是AT命令集接收口,当接到电话时将自动挂断电话并回复当前温度值得短信,仅通过40引脚的ZIF连接器,即可实现多项例如电源连接、控制信号的双向传输等复杂功能[14]。其原理图如图2.2所示。
在这里插入图片描述

图2.2 SIM800L GSM模块电路原理图
2.3 烟雾检测电路设计
上文已对MQ-2传感器进行了简介。MQ-传感器的结构和外形如图2.3所示,MQ-2传感器由于对不同种类,不同浓度的气体会有不同的电阻值,因此在使用该传感器时,要对灵敏度的进行调整[15]。其原理图如图2.4所示:
在这里插入图片描述

图2.3 MQ-2传感器内部结构图
3 软件设计
3.1 系统主程序设计
本设计的软件部分是以单片机的程序作为核心,其他子程序依照主程序来进行设计,整个系统的运行是主程序与各子程序之间的相互配合来完成的。程序首先需要完成各部分的初始化,然后对是否需要对报警电话号码进行调整的判断,然后通过读取各传感器所采集数据来判断是否有报警,在然后根据判断发送报警,如果没有报警则返回[18]~[19]。流程图如图3.1所示。
在这里插入图片描述

图3.1主程序流程图
4 系统调试
4.1 系统调试
最后一步需进行系统调试[20],所有的元器件及传感器依照原理图进行焊接之后进行通电测试,当然相对于不是很复杂的电路采用这种方式是最直接便捷的,但是不利于发现问题,如焊接错误需浪费更多的时间寻找,所以本设计采用的调试方法为在安装的过程中进行调试,就是把电路分成各个模块,以模块为单位进行安装和调试。调试成功的电路板图片如下图4.1所示。
在这里插入图片描述

图4.1电路板实物图

5 软件仿真
5.1软件仿真图
如图5.1所示为软件仿真图。
在这里插入图片描述

图5.1软件仿真图
5.2软件仿真详解
首先进行,系统上电,各电路初始化,SIM800L开始读取网络信息,读取完成后LCD显示当前温度值与预设报警温度阈值如图5.2所示。

在这里插入图片描述

图5.2 LCD屏显示
然后此时系统已进入正式运行状态,按动“温度加”、“温度减”按钮时,显示屏中预设温度值随其发生变化,如图5.3所示。按动“温度减”,温度阈值也会随之变小,类似于图5.3,这里不再做赘述。
在这里插入图片描述

图5.3按动温度加仿真	

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90067.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯研究院 | AI 浪潮中的中国品牌优势解码:华为、小米、大疆、科大讯飞等品牌从技术破壁到生态领跑的全维突围

当 DeepSeek-R1 模型在 2025 年掀起大众 AI 热潮,当腾讯混元大模型与京东言犀大模型在产业场景中落地生根,中国品牌正在 AI 技术革命的浪潮中完成从追随者到引领者的蜕变。腾讯营销洞察(TMI)联合京东消费及产业研究院、腾讯研究院…

FreeRTOS学习笔记——空闲任务prvIdleTask

文章目录任务创建任务的内容推荐阅读任务创建 prvIdleTask任务,是由任务调度函数vTaskStartScheduler创建的,任务优先级0,任务堆栈深度由配置选项configMINIMAL_STACK_SIZE定义。 void vTaskStartScheduler(void) {/* 其他代码*//* Add the…

初识卷积神经网络CNN

卷积神经网络CNN 全连接神经网络存在的问题: 输入的形式应该是列向量,但是卷积神经网络中的输入是图像(2D矩阵),那么就需要对图片进行展平处理,原本图像中蕴含的空间等信息就被打乱了输入的特征多了,那么神经元的参数就会很多&…

高层功能架构详解 - openExo

高层功能架构详解1. 系统整体结构与模块化设计2. 两大核心类:ExoData 与 ExoA. ExoDataB. ExoC. 数据结构的层级关系3. 多微控制器协作与BLE通信4. 主控软件运行流程(主循环伪代码)5. 架构优点小结6. 与 Code Structure 的关系实用建议1. 系统…

【西北工业大学公开课】导引系统原理(全61讲)周军 -个人笔记版 5000字

【严正声明】此文档为个人笔记:仅供个人与同学参考学习,记录学习过程,严谨商业转载,或商业售卖!感谢西北工业大学公开课知识分享,公开资料开源!视频链接:【【西北工业大学】导引系统…

《命令行参数与环境变量:从使用到原理的全方位解析》

前言 当我们在终端输入 ls -l /home 查看目录详情,或用 gcc -o hello hello.c 编译代码时,或许很少思考:这些空格分隔的 “指令 选项 路径” 是如何被程序识别的?为什么 PATH 变量能让系统找到可执行文件,而 HOME 变…

C++设计模式:单例模式 (现代C++主流实现方式Meyer‘s Singleton + 使用CRTP模板化)

文章目录单例模式创建单例类饿汉式or懒汉式现代C单例模式的主流实现方式——Meyers Singleton使用 CRTP 模板化单例类单例模式 单例模式是指程序中只需要一个实例化对象,在全局作用域或整个代码架构中,此对象只被实例化一次,就可以达到在整个…

Eureka 和 Nacos

一、基本介绍EurekaEureka 是 Netflix 公司开发的一款基于 REST 风格的服务注册与发现组件,专为分布式系统设计。它遵循 AP 原则(可用性、分区容错性优先),强调在网络分区等异常情况下的服务可用性,是 Spring Cloud Ne…

文件IO笔试题

目录前言一、核心概念:二、关键操作步骤:三、为什么需要文件IO?四、常见类型:五、标准IO源码六、笔试真题和练习1.代码实现1代码实现22.代码实现3.代码实现4.代码实现5.代码实现七、总结前言 文件IO(文件输入/输出&am…

前端学习 5:DFT

DFT技术 DFT (design for testability):指在设计系统和电路的同时,考虑测试的需求,通过增加一定的硬件开销,获得最大可测性的设计过程。(因为增加了硬件,所以也带来了不足&#xff…

最长递增子序列(LIS)问题详解

最长递增子序列LIS问题详解一、问题定义与核心特征1.1 问题描述1.2 核心特征二、基础解法:动态规划(DP)2.1 解法思路2.2 Java代码实现2.3 复杂度分析三、优化解法:二分查找贪心3.1 核心思路3.2 二分查找的作用3.3 Java代码实现代码…

什么是HTTP长连接、短连接?谁更能抗DoS攻击?

想象你在快餐店点餐: 你:“一个汉堡”收银员:“好的,15元”交易结束,你离开队伍你想加杯可乐,重新排队你:“一杯可乐”收银员:“好的,8元”再次离开… 这种每次沟通后立即…

微软徽标认证是什么?如何快速获取驱动签名?

在Windows系统中安装硬件驱动时,是否遇到过“无法验证发布者”的警告?这正是驱动数字签名在背后发挥作用。对于软件开发者而言,驱动数字签名不仅是系统兼容性的保障,更是企业品牌信任度的核心。一、驱动数字签名的核心作用驱动数字…

Apache Ignite缓存基本操作

这段内容主要讲解了 Apache Ignite 中缓存(IgniteCache)的基本操作,包括获取缓存、创建缓存、销毁缓存、执行原子操作以及异步操作等。下面我将用中文对这些内容进行详细解释,帮助你更好地理解。一、获取缓存实例(Gett…

最新基于R语言结构方程模型分析与实践技术应用

现代统计学理论和方法的不断完善,使科研工作对统计方法的要求也越来越高,面对纷繁复杂的数据,如何选择最为合适的数据分析方法已成为科研工作者,尤其是广大刚处于科研生涯起步阶段的研究生们最为棘手问题。随着科学的发展&#xf…

物联网_TDengine_EMQX_性能测试

一、Tdengine接口开发文档 1、数据库 1.创建数据库 URL /dp/createdb/ method post 请求示例 {"db_name":"demo01" // 必填 }响应示例 // 成功 {"code": 1,"data": {"成功创建数据库": "demo04"},"error…

从分析到优化:Amazon Q CLI 助力 EKS 网络调用链剖析与运维实践

1. 引言 在 Amazon EKS(Elastic Kubernetes Service)环境中,理解从 ALB(Application Load Balancer)到 Pod 的完整网络调用链对运维人员至关重要。本文将展示如何利用 Amazon Q CLI 这一 AI 助手工具,通过…

Class10简洁实现

Class10简洁实现 import torch from torch import nn from d2l import torch as d2l# 输入为28*28,输出为10类,第1、2隐藏层256神经元 num_inputs, num_outputs, num_hiddens1, num_hiddens2 784, 10, 256, 256 # 第1个隐藏层丢弃率为0.2,第…

【多线程篇22】:ConcurrentHashMap的并发安全原理剖析

文章目录一、HashMap 的“不安全”:问题的根源1. 数据结构回顾 (JDK 1.8)2. 并发下的致命缺陷:put 操作二、ConcurrentHashMap 的安全之道 (JDK 1.8)1. 核心数据结构2. 安全的 put 操作:分场景精细化加锁3. 安全的 size() 计算:并…

【Java + Vue 实现图片上传后 导出图片及Excel 并压缩为zip压缩包】

系统环境: Java JDK:1.8.0_202 Node.js:v12.2.0 Npm:6.9.0 Java后端实现 Controller /*** xxxx-导出* param response 返回信息体* param files 上传的图片文件* param param1 参数1* param param2 参数2*/PostMapping("/ex…