基于单片机的防火防盗报警系统设计

摘要: 该多功能防火防盗系统既具有根据环境温度和烟雾浓度进行火灾检测的功能,也有能对人体检测实现防盗的功能。多功能智能防火防盗控制系统的主控制器是 STC89C52 单片机,环境温度的检测采用 DS18B20 MQ2 检测烟雾浓度,热释电检测人体,显示环境温度和烟雾浓度的模块采用 LCD1602 4 个按钮来实现温度和烟雾浓度界限的设置以及调整。以实现的功能为基础,结合选择模块和硬件电路对多功能智能防火防盗系统软件进行设计。
关键词: 烟雾;温度;人体检测;单片机;防火防盗

0 引言

现阶段我国居民所要面对的最为突出的安全隐患就是火灾的发生,由于家用电气的普及,电气与煤气在人们的生活中几乎无处不在。因此,火和电就成为了人们日常生活中的最大潜在危险。与此同时,人们现在都居住在高楼之中,如果发生火灾对于人们的威胁不仅仅是财物,同时也会威胁到居民的人身安全以及周围居民的安全。除了火灾威胁之外,防盗也是现阶段居民的重要安全隐患之一,由于我国居民防盗意识与财务监管意识不够强烈,许多不法分子就利用这种漏洞进行盗窃犯罪,对居民的财物甚至人身造成一定的威胁。因此,在现阶段中,传统的房屋与住宅已经不能满足现代居民的安全需求,若想切实的提高居民的生活质量,减轻居民生活中存在的安全隐患,就需要对住宅与房屋实施更好的安全防护措施。

1 系统方案设计

设计的智能防火防盗系统功能有下面几个方面;
1 )实现对人体检测防盗,对烟雾浓度和温度检测防火;
2 )设计合适的报警和显示功能,对检测到的数据显示以及数据不在范围时报警;
3 )按键设置功能,通过按键实现对报警界限的设置,提高适应性功能。
总体功框图如图 1 所示。
各个模块的功能如下:
1 )温度和烟雾检测模块:环境温度和环境烟雾浓度火灾报警工作的输入条件对环境温度和环境烟雾浓度的精确检测非常重要,温度和烟雾检测模块主要实现对环境温度和环境烟雾浓度的检测;
2 )按键模块:根据实现的功能,对环境温度和环境烟雾浓度界限的调节;
3 )单片机:接受环境温度和环境烟雾浓度以及人体检测信息和按键信息,对显示模块和报警模块进行控制;
4 )显示模块主要是实时显示环境温度和环境烟雾浓度以及人体相关信息;
5 )人体检测模块通过红外传感器实现对人体检测来进行防盗报警。
总体硬件电路如图 2 所示。

2 硬件电路设计

2.1 单片机最小系统电路设计

C1 R4 实现上电复位功能,上电时利用 RC 原理,在复位引脚增加持续 10ms 的高电平,实现上电复位。电容 C2 C3 配合 12MHz 的外部晶振产生单片机工作的时基电路,时基(1/12 us

2.2 温度检测电路设计

设计的 DS18B20 环境温度的检测电路,上电后 DS18B20进行工作,环境温度度数据存储与DATA 引脚在上拉作用下同时进行工作的同时,DATA 引脚当前是处在接受数据的状态,这样才能确定 DS18B20 按照正确的时序进行工作,这时单片机的 P16 引脚将一个低电平信号输出大到 DS18B20 DATA引脚,等待一段时间后,上拉电阻的信号与单片机的低电平共同作用一段时间后,开始将环境温度和环境湿度数据以一个 40位的数据格式传送给单片机,数据传送结束后,持续输出一个50 微妙的电平,之后循环工作,实时采集环境温度。

2.3 人体防检测电路设计

将红外传感器的输出端,接入单片机的 P3.7 ,对于报警的启停的控制,就是运行了单片机的中断机制,同时由于此机制的采用,在没有收到触发信号时,热释电不会对触发情况进行循环检测,在快速反应红外传感器的同时,单片机程序的运行效率也提高了。

2.4 烟雾浓度电路设计

STC89C52 单片机内部没有 AD 模块所以不能直接介绍模拟的电压值信号,所以此设计选择了一款 AD0832 芯片 AD转换芯片,实现对电压信号的采集。输出的电压信号传送到AD0832 模数转换芯片中,在模数转换芯片中,将采集到的模拟电压信号,转换为数字芯片,因为选择的 AD0832 8 位数字芯片,而且其内部的参考电压值为 5V ,所以其转换公式如式所示。

2.5 声光电路设计

整个系统需要对火灾报警进行声光报警,单片机 P2.0 实现对引脚控制,输出脉冲信号蜂鸣器响,高电平时灯亮反之灯灭,实现闪烁报警。

2.6 按键电路设计

系统设计了四个按键电路,四个按键电路的功能分别是布防按键,设置按键以及增减按键,布防按键表示人在家时,可以决定是否打开检测功能,设置按键是对温度和烟雾浓度的报警界限值进行设置,增减分别对界限值进行调节,四个按键由P32到P35 引脚连接,按键按下后引脚直接接地,表示有按键按下。

3 软件设计

主程序主要是对完成初始化以及无线循环的调用各个子程序,具体的主程序流程图如图 3 所示。
温度读取子函数,主要是根据 DS18B20 温度检测传感器的检测时序,对温度值进行逐步读取,首先对 DS18B20 检测模块初始化使得传感器处于检测模块,然后开启温度检测,对温度直接进行读取,分为高八位和低八位进行数据读取,进行实际转换。烟雾浓度检测子函数根据 AD0832 烟雾检测模块的时序实现对程序的设计。

4 仿真测试

Proteus 上对主要功能进行仿真,按键开始仿真时,系统上电,可以看到在 LCD 显示屏上显示检测到的值以及当前的状态;当按键按下人体检测按键时,表示有人检测到报警;当调节温度和可燃气体浓度超过报警值时,系统报警;对设计的防火防盗功能进行了验证,满足了预期设计。

5 结语

本课题完成了智能防火防盗系统的设计,根据环境温度和环境烟雾浓度以及人体感应模块的检测,实现了防火防盗系统自动感知环境温度和环境烟雾浓度以及人体的功能。设计采用DS18B20 温度传感器, MQ2 烟雾传感器以及热释电人体检测模块,这是智能防火防盗系统具有自动感知的能力、判断能力和完善控制力的基础;适当优化控制算法,可以将 PWM 控制算法与PID 控制技术相结合,使得温度的检测和报警运行更加的平稳。

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

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

相关文章

[Meachines] [Easy] Mirai Raspberry树莓派默认用户登录+USB挂载文件读取

信息收集 IP AddressOpening Ports10.10.10.48TCP:22,53,80,1276,32400,32469 $ nmap -p- 10.10.10.48 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u3 (protocol 2.0) | ssh-hostkey: | 1024 aa:ef:5c:…

@change事件传参

change事件传参 change"(value)>handleChange(value, item,index)" 这样可以接收index参数区分是哪一个组件事件&#xff0c;又可以接收子组件传的value值 <div class"boxItem" v-for"(item, index) in checkPeopleList" :key"inde…

【avue+vue2+elementui】删除、rules、页面跳转、列表数据过长、日期dayjs

这里写目录标题 一、删除二、rules三、页面跳转四、列表数据过长截断五、日期 dayjs一、删除 🍃API/*** 删除.* @param {*} data * @returns 返参*/ export const deleteOrder = (data) => {return request({url: /api/Order/deleteOrder,method: post,data}) }HTML🍃左…

5.2-软件工程基础知识-软件过程模型

软件过程模型 瀑布模型瀑布模型变种-V模型演化模型-原型模型增量模型演化模型-螺旋模型喷泉模型基于构件的开发模型形式化方法模型统一过程模型敏捷方法极限编程其他方法 软件过程模型概述练习题 瀑布模型 瀑布模型(SDLC):瀑布模型是一个经典的生命周期模型&#xff0c;一般将软…

声音和数据之间的调制解调 —— 电报机和电传打字机如何影响计算机的演变

注&#xff1a;机翻&#xff0c;未校对。 The Squeal of Data The through line between the telegraph and the computer is more direct than you might realize. Its influence can be seen in common technologies, like the modem. 电报和计算机之间的直通线比你想象的要…

Redis RDB AOF持久化 主从集群同步原理

RDB RDB Redis数据备份文件 也被叫做Redis数据快照 简单来说就是 把内存中的所有数据记录到磁盘中 当Redis实例故障实例重启后从磁盘读取快照文件恢复数据 快照文件称为RDB文件 默认时保存在当前运行目录执行时机 执行save命令 127.0.0.1:6379> save OK 127.0.0.1:6379&g…

opencascade AIS_TrihedronOwner源码学习对象的实体所有者用于选择管理

opencascade AIS_TrihedronOwner 前言 AIS_Trihedron对象的实体所有者用于选择管理。 在OpenCascade的AIS&#xff08;交互对象框架&#xff09;中&#xff0c;管理类似AIS_Trihedron的对象的选择涉及理解如何处理实体&#xff08;或所有者&#xff09;以进行选择。 方法 1…

正则表达式 空格匹配

目录 一. 前提二. 半角空格 匹配半角空格三. ^ 匹配半角空格开头的半角空格四. ^ $ 匹配整行都是半角空格五. ^[ \t]$ 匹配整行都是半角或Tab空格六. \s 匹配所有空格七. [^\s]匹配除了空格之外的所有内容 一. 前提 &#x1f447;&#x1f447;&#x1f447;有如下所示的内容…

程序员面试 “八股文”在实际工作中是助力、阻力还是空谈?

“八股文”在实际工作中是助力、阻力还是空谈&#xff1f; 作为现在各类大中小企业面试程序员时的必问内容&#xff0c;“八股文”似乎是很重要的存在。但“八股文”是否能在实际工作中发挥它“敲门砖”应有的作用呢&#xff1f;有IT人士不禁发出疑问&#xff1a;程序员面试考…

CTF web bibibi题型

CTF web bibibi题型 1.进入网站 在kali中使用Dirsearch对地址进行目录扫描&#xff0c;发现robots.txt 网址内加入 /robots.txt 进入网址 /fl4gi5Here.php 找到flag

Uni-APP页面跳转问题(十六)

【背景】最近在做公司一个PAD端,谁被点检功能,主要时为了移动端点检设备和打印标签,需求比较简单就是扫描设备二维码,问题在于扫描后要能够重复进行多设备的扫描;早期开发的设备点检能够满足需求但是当连续扫描五六十个设备后,APP卡死,必须重启才能使用。 界面原图: 输…

安全基础学习-keil调试汇编代码

初始目的是为了通过汇编编写CRC功能。 但是基础为0,所以目前从搭建工程开始记录。 大佬绕路。 (一)创建项目 1. 新建项目 打开 Keil uVision。选择 Project -> New uVision Project 创建一个新项目。选择你的目标设备(如 ARM Cortex-M 系列处理器),我这里一开始选择…

buu做题(12)

[CISCN 2019 初赛]Love Math <?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("太长了不会算");…

Creomagic 推出认知通信功能以应对电子战 (EW) 威胁

新时代的软件定义无线电 (SDR) 技术可以在电子战和竞争频谱环境中自主维护可靠的网络。 最近的全球冲突凸显了现代战场上战术通信面临的严峻挑战。随着自主部队的日益普及&#xff0c;战场感知变得比以往任何时候都更加先进&#xff0c;需要大量信息传输和同步。在战场上传输关…

MacOS上如何优雅的使用Burp Suite Professional

MacOS上如何注册使用Burp Suite Professional 文章目录 MacOS上如何注册使用Burp Suite Professional一.如何下载二.安装BurpSuite三.注册四.启动五.创建可执行文件六.写在最后 一.如何下载 JDK官网下载 BurpSuite专业版官网下载 [注册机下载]( https://pan.baidu.com/s/10…

秒懂Linux之编写小程序——进度条

目录 一.前文摘要 二.进度条编写 三全部代码&#xff08;非Linux环境下测试&#xff09; 一.前文摘要 在开始编写之前我们先来学习一些后面会用到的知识点~ 测试结果发现&#xff0c;Sleep无作用&#xff0c;编译完会立刻打印~ 再来看另一个测试~我们同样没有换行&#xff0c…

设计模式的优点

设计模式的优点 1、可重用性2、架构指导3、经验传承4、设计透明5、实践验证 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 1、可重用性 设计模式允许开发者在遇到相似问题时复用解决方案&#xff0c;节省时间并减少错误。 2、架构指导 …

C:初识指针—学习笔记

目录 前言&#xff1a; 1、内存和地址 1.1 理解内存和地址 1.2 理解编址 2、指针变量和地址 2.1 取地址操作符&#xff1a;& 2.2 指针变量 2.3 如何拆解指针类型 2.4 解引用操作符&#xff08;*&#xff09; 2.5 指针变量的大小 3、指针变量类型的意义 3.1 指针…

C语言:指针(2)

一.数组名 在了解数组名前我们先看一段代码 int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0]; 根据我们上一篇学习的知识&#xff0c;我们知道&arr[0]是数组第一个元素的地址&#xff0c;这时我们再看另一段代码的运行结果。 #include <stdio.h> int ma…

Hadoop的安装和使用-2024年08月01日

Hadoop的安装和使用-2024年08月01日 1.创建Hadoop用户2.SSH登陆权限设置3.java的安装4.Hadoop单机安装配置5.Hadoop伪分布式安装配置 1.创建Hadoop用户 如果安装Ubuntu的时候不是用的“hadoop”用户&#xff0c;那么需要增加一个名为 hadoop的用户首先按ctrlaltt打开终端窗口&…