当前位置: 首页 > news >正文

【IoT】智能烟雾报警器

设计简介

硬件设计由AT89C51单片机、DS18B20温度传感器、4位共阳数码管、电源模块、报警模块、按键模块、MQ-2烟雾检测模块和ADC0832模数转换模块组成。

烟雾传感器MQ-2检测空气中的烟雾气体,通过ADC0832进行数据转换,经过单片机的运算处理后在数码管上显示浓度,同时采用DS18B20温度传感器检测环境温度,经过转换再经过单片机的运算也在数码管上进行显示。

单片机程序采用C语言编写,用Proteus仿真软件进行了仿真实验,并在仿真的基础上进行了实物的调试与制作。实物测试结果:当实际中的烟雾浓度和环境温度值大于设置的烟雾浓度和设置温度值时,蜂鸣器便发出报警声。通过实验表明本系统能够实现温度在测量范围从0度到99度报警以及在0-9等级烟雾浓度范围内的报警功能。

设计目标

制作一个可以实现以下功能的基于封闭环境下的烟雾报警系统,一是可以检测到可燃气体和烟雾,二是可以通过单片机对相应的驱动负载和报警设备进行控制,三是能够通过数码管实时显示烟雾的浓度值,并且可以通过按键来设定阀值。  

该项目主要完成的任务包括以下三部分:  

(1)硬件部分:由烟雾传感器的选择,烟雾信号模数转换电路的设计,显示模块的选择以及报警驱动电路设计组成。  

(2)软件部分:是由单片机控制程序的编制和原理图的绘制两部分组成的。 

(3)系统的调试与分析:在实物和程序都做好以后,要对系统进行一个测试与测验,分析观察系统的可靠性与实用性,来使系统达到正常工作状态。

系统总体设计方案

工作原理:烟雾传感器MQ-2实时检测空气中的烟雾气体,经过ADC0832模数转换芯片进行模数转换,再经过单片机的运算处理后在数码管上把烟雾的浓度显示出来,同时采用DS18B20温度传感器检测环境温度,经过转换,再传给单片机进行运算也显示在数码管上。

还可以用设置按键对烟雾和温度的报警值进行设定。当检测空气中的烟雾浓度和周围温度值大于或等于设置的烟雾浓度值和温度值(报警值)时,便会触发报警,蜂鸣器发出蜂鸣声。出现突发状况的时候可按紧急报警键,同样可以触发报警系统。

整个系统包括主控制模块、显示模块、烟雾检测采集模块、AD数模转换模块、按键控制模块和报警模块。

主控制模块

此设计中主控制模块控制核心是AT89C51单片机,是因为此类单片机具有它特有的优势:容易操作、简便、方便快捷、较强的抗干扰能力和抗静电能力,这样单片机就可以充分发挥出单片机资源丰富、强大控制功能和可位寻址操作功能的优点。

AT89C51单片机位操作指令十分丰富,单片机所有的I/O接口都可以按位寻址。单片机具有的足够的程序空间,来满足此设计,采用51 单片机控制,具有两个16位数据指针DPTRO/DPTR,因此软件编程的可选择性比较大,这样各种算术算法以及各种各样的逻辑控制便可以通过编程来实现,而且51单片机的体积比较小,这样硬件实现就变得简单,安装方便,而且此系统控制模块简单,数据量较小。所以选择ATC89C51作为核心。

主控制最小系统电路如图2-2所示。单片机最小系统硬件部分包括电源电路、复位电路、时钟电路三个部分[4]。AT89C51单片机的工作电压范围:3.3V-5.5V,所以在本设计中给单片机外界5V的直流电源,工作频率范围0-40MHz,但实际工作频率可达48MHz。 

 

复位电路(图中连接单片机RST的电路)就是确定单片机的初始化操作,目的是让单片机在确定的初始化状态,相当于完成单片机的启动过程。当单片机开始工作接通电源时或者按下复位开关键,便会与RST形成通路,此时便会形成复位信号,从而确定单片机起始状态。当单片机系统在运行的过程中中,受到某些无法预知的因素的影响导致程序错误时,此时可以按下复位按键,则单片机内部的程序便会重新开始运行。

单片机在稳定振荡器以后,在RESET端口连续接收到24个振荡周期即2个机器周期的高电平信号时就可以完成复位[5]。本设计采用的是简单的RC冲放电电路,电阻R18的目的是为了提高高电平的值。

时钟电路(图中XTAL1与XTAL2形成的通路)的作用对单片机来说就好比人的心脏对于人,只有在时钟的驱动下单片机才能工作。因为在AT89C51内部就含有一个晶振,所以在单片机的XTAL1和XTAL2引脚接一个频率为12MHz晶振,便可以形成自激振荡器,这个自激振荡器能在单片机内部产生时钟脉冲信号。

此次的正弦信号是由时钟电路提供。在单片机内部还有一个构成内部振荡器的反相放大器[6]。引脚XTAL1是反向放大器的输入,而引脚XTAL2是反向放大器输出;如果采用外部时钟源驱动,XTAL2则不需要连接;一般情况下同一个系统会使用同样频率的晶振,这样整个系统的每个部分便可以保持一致。

显示模块电路

显示模块用四位数码管显示,数码管显示的速度比较快,原理相对简单,很容易被使用,显示效果简洁,所以选择了数码管。数码管一般分为共阳极数码管和共阴极数码管[7]。本设计用的是共阳极数码管。共阳极数码管是把发光二极管的阳极连接在一起,公共阳极接正电压(通常是+5v),当某个发光二极管的阴极收到低电平的信号时,则这个发光二极管便会发光,此时这个发光二极管相应的段就可以显示出来。根据不同发光段组成想要的数字。

 在图中数码管的A-G,DP连接的是单片机的P1口,P1口(P1.0~P1.7,1~8 脚):P1口是一个双向I/O口。数码管的驱动一般分为静态驱动和动态驱动[8]。静态驱动就是数码管的每个LED灯对应单片机的一个I/O接口,这种驱动的优点是简单,但占用较多的I/O接口。图2-3中的三极管是用来做驱动的作用,因为单片机的接口输出电流比较小,从而导致驱动能力较弱,采用三极管起到放大电流的作用,提高了驱动能力。

温度传感器(DS18B20)电路

温度采集电路如图所示,DS18B20的数据脚和电源之间加了一个4.7K的电阻,目的是不仅为了保证数据的稳定,同时起到限流的作用。

温度传感器将采集的信号数据传输到单片机的P3.5口。因为从单片机的P3.5接口到温度传感器DS18B20 直接连接便可,而且温度传感器对温度信号的读、写以及温对度信号的转换的所需的电源而并不需要外部电源由数据线自身就可以提供,所以不需要备份电源,而且可以在1秒内把温度数据转换为数字,具有很高的效率。温度传感器对温度测量范围从-55度到+125度,增量值为0.5度,具有较高的测量温度和精确度,所以选择了DS18B20。

 

烟雾采集检测电路

烟雾采集检测电路如图2-5所示。烟雾采集检测电路是利用烟雾传感器检测周围空气的烟雾信号传输给模数转换电路。烟雾传感器采用的是MQ-2传感器。当烟雾传感器检测到烟雾时,烟雾时传感器的电阻值下降,通过测量传感器的输出电压值变化便可以反映烟雾浓度的变化,在此设计中,将传感器与电压串联,将电压信号传输到ADC0809A/D转换电路。MQ-2烟雾传感器具有较高的灵敏度、电导率波动范围大、恢复速度快、强大的抗干扰能力、输出的烟雾信号大、使用的时间长和工作相对稳定等优点。

AD模数转换电路

ADC0809模数转换电路如图2-6所示。AD数模转换电路是将烟雾传感器检测到的模拟信号转换成数字信号再次输入到单片机,单片机对接收到的数字信号进行相应的运算[9]。模数转换电路采用ADC0832,经过ADC0832采集后就可以得到烟雾各种气体后经过R14电阻的电阻分压的电压信号转换成数字信号,再传输给单片机,经过单片机运算分析后在数码管上把烟雾的浓度显示出来,

ADC0832芯片接口功能:CS片连接单片机的P3.2。当单片机给予低电平信号时ADC0832开始工作。CH0和CH1是模拟输入接口,接收由烟雾传感器检测的烟雾信号。在本设计中选择了CH0通道。D0与D1是转换数据输出接口,因为DO接口和D1接口在同时工作时并不是同时有效的所以将D0和D1并联 数据信号输出,再与单片机的p3.3相连,将转化的数字信号传给单片机。CLK 芯片时钟输入,连接单片机的P3.4,用于计数。 

烟雾信号通过CH0进入ADC0832,D0将转换的数字信号传输到单片机的P3.3(外部中断)。

 

声音报警电路

烟雾检测仪系统电路采用PNP型S8550三极管驱动,蜂鸣器连接单片机的P3.6接口。当蜂鸣器接收到来自单片机的P3.6口输出的低电平信号时,此时三极管导通,便会触发报警。当蜂鸣器接收到来自单片机P3.6口输出的高电平时,三极管处于截止状态,电路发生断路,蜂鸣器因断电便停止报警。本设计的声音报警电路选择的是蜂鸣报警器电路,但是蜂鸣器的工作电流比较大,单片机的I/0口的电流偏弱并不能直接驱动蜂鸣器,所以此次设计的蜂鸣器前添加了一个PNP型三极管8550,这样就可以放大电流,从而来驱动蜂鸣器。图2-7中的电阻R13起到限流的作用,防止电流过大

系统主程序设计

烟雾报警系统主程序流程图如图3-1所示。需要注意的是当第一次使用时,第一步要给传感器预热,因为MQ-2型烟雾传感器在没有电源供应的情况下放一段时间后,当再次接通电源时,并不能立刻检测烟雾信号,所以预热这一步骤是必须的[11]。当预热结束后一段时间,报警系统才正式进入监控状态。

在报警系统工作过程中,烟雾浓度信号经ADC0832由模拟信号转换成数字信号后,再由AT89C51进行处理和运算,判断和控制系统是否触发报警。主程序包括数码管浓度字符显示功能(显示烟雾浓度和温度值)、手动报警功能、报警浓度等级和报警温度设定功能,中断子程序等。

检测烟雾信号浓度的同时检测温度传感器的温度,和设置的阈值做对比,如果大于设置阈值,便会触发报警,蜂鸣器发出滴滴蜂鸣声,此设计中温度报警阈值同样可以设定,这样的设计使报警器更加符合实际情况,是烟雾报警器的功能进一步完善,进一步满足报警器的要求,从而进一步降低火灾发生的几率。

 

 

相关文章:

【IoT】智能烟雾报警器

设计简介 硬件设计由AT89C51单片机、DS18B20温度传感器、4位共阳数码管、电源模块、报警模块、按键模块、MQ-2烟雾检测模块和ADC0832模数转换模块组成。 烟雾传感器MQ-2检测空气中的烟雾气体,通过ADC0832进行数据转换,经过单片机的运算处理后在数码管上…...

Python实现定时执行脚本(5)

前言 本文是该专栏的第17篇,后面会持续分享python的各种干货知识,值得关注。 笔者在前面有详细介绍过几种使用python实现定时执行任务的方法,可以说都是简单易上手的那种。而本文,再来详细介绍另外一种定时方法,那就是利用任务框架APScheduler(advanceded python schedu…...

JavaSe第4次笔记

1.转义字符和编程语言无关。 2.斜杠(\)需要转义,反斜杠(/)不需要转义。 3.不能做switch的参数的数据类型:long float double boolean( String可以)。 4.输入的写法:Scanner(回车自动带头文件(import java.util.Scanner;)) Scanner scan …...

epoll机制

预备知识 文件描述符file descriptor 文件描述符是Linux系统中对文件、套接字等I/O资源的抽象,每个打开的文件或套接字都有一个唯一的文件描述符。应用程序可以使用文件描述符来读写文件或进行网络通信。 epoll允许程序监控多个文件描述符,以便在这些…...

Java使用不同方式获取两个集合List的交集、补集、并集(相加)、差集(相减)

1 明确概念首先知道几个单词的意思:并集 union交集 intersection补集 complement析取 disjunction减去 subtract1.1 并集对于两个给定集合A、B,由两个集合所有元素构成的集合,叫做A和B的并集。记作:AUB 读作“A并B”例&#…...

【Android笔记80】Android之Retrofit适配器和文件上传下载

这篇文章,主要介绍Android之Retrofit适配器和文件上传下载。 目录 一、Retrofit适配器 1.1、Retrofit适配器 (1)引入RxJava依赖 (2)定义接口...

Nodejs模块化

1.模块化 1.1.模块化的基本概念 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分为若干模块的过程。对于整个系统而言,模块是可组合、分解和更换的单元。 1.2 编程中的模块化 编程领域的模块化就是把一个大文件拆成独立并相互依赖的多个小模块…...

C++STL基础

STL基础 诞生 cpp的面向对象和泛型编程的思想本质就是提高复用性诞生了STL库 基本概念 STL标准模板库STL从广义上分为容器、算法及迭代器容器和算法之间通过迭代器进行连接STL几乎所有的代码都采用了模板类或者模板函数 基本组件 容器、算法、迭代器、仿函数、适配器、空间配置…...

数学建模经验【更新中】

数学建模简单入门 一、 分工 3人,1人论文,1人代码主力,1人论文代码(前一半时间主代码,后一半时间主论文) Tips: 不养闲人,论文必须要在对代码和题目极其了解并且能跟上队友思路的情况下才能写…...

【python学习笔记】:Excel 数据的封装函数

对比其它编程语言,我们都知道Python最大的优势是代码简单,有丰富的第三方开源库供开发者使用。伴随着近几年数据分析的热度,Python也成为最受欢迎的编程语言之一。而对于数据的读取和存储,对于普通人来讲,除了数据库之…...

如何获取或设置CANoe以太网网卡信息(GET篇)

CAPL提供了一系列函数用来操作CANoe网卡。但是,但是,首先需要明确一点,不管是获取网卡信息,还是设置网卡信息,只能访问CAPL程序所在的节点下的网卡,而不是节点所在的以太网通道下的所有网卡 关于第一张图中,Class节点下,有三个网卡:Ethernet1、VLAN 1.100、VLAN 1.200…...

“终于我从字节离职了...“一个年薪50W的测试工程师的自白...

我递上了我的辞职信,不是因为公司给的不多,也不是因为公司待我不好,但是我觉得,我每天看中我憔悴的面容,每天晚上拖着疲惫的身体躺在床上,我都不知道人生的意义,是赚钱吗?是为了更好…...

【Spring】八种常见Bean加载方式

🚩本文已收录至专栏:Spring家族学习 一.引入 (1) 概述 ​ 关于bean的加载方式,spring提供了各种各样的形式。因为spring管理bean整体上来说就是由spring维护对象的生命周期,所以bean的加载可以从大的方面划分成2种形式&#xff…...

第五回:样式色彩秀芳华

import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np第五回详细介绍matplotlib中样式和颜色的使用,绘图样式和颜色是丰富可视化图表的重要手段,因此熟练掌握本章可以让可视化图表变得更美观,突出重点和凸显艺术性。…...

关于@Test单元测试

1、关于doReturndoReturn(new Test()).when(testService).updateStatusByLock(any(), any());在单元测试里这个方法可以执行到这里之间跳过不去执行,返回你想要的返回值2、关于givengiven(user.getName(any())).willReturn("张三");在单元测试里这个方法 …...

【项目实战】WebFlux整合r2dbc-mysql实战

一、背景 Webflux虽然是响应式的,但是没办法,JDBC是基于阻塞IO实现的,所以无法真正的威力发挥不出来。 但是,Webflux一旦整合了R2DBC之后,那么它将不再受限于数据库连接了,真正打通了响应式应用的任督二脉,性能才被释放。 当然,除了Spring推出的R2DBC协议,还有Orac…...

go版本分布式锁redsync使用教程

redsync使用教程前言redsync结构Pool结构Mutex结构acquire加锁操作release解锁操作redsync包的使用前言 在编程语言中锁可以理解为一个变量,该变量在同一时刻只能有一个线程拥有,以便保护共享数据在同一时刻只有一个线程去操作。对于高可用的分布式锁应…...

大数据之Hudi数据湖_大数据治理_简介_发展历史_特性_应用场景---大数据之Hudi数据湖工作笔记0001

支持hive spark flink 美国公司开发的~ 都在使用,这些企业都在用 支持hadoop的,更新,插入,删除 和数据增量处理 支持流式数据处理. hive是离线数仓 hive不支持事物 insert overwrite 底层后来通过这种方式支持了事物 insert overwrite处理数据很低效,因为更新是基于覆盖实现…...

射频功率放大器基于纵向导波的杆状构件腐蚀诊断方法的研究

实验名称:基于纵向导波的杆状构件腐蚀诊断方法研究方向:无损探伤测试设备:信号号发生器、安泰ATA-8202功率放大器、数据采集卡、直流电源、超声探头、钢杆、前置放大器。实验过程:图:试验装置试验装置如图3.2所示。监测…...

Leedcode 二分查找 理解1

一个up的理解 一、二分查找基础例题 力扣https://leetcode.cn/problems/binary-search/ 二、二分查找模板问题 带搜索区间分为3个部分: 1、[mid],直接返回 2、[left,mid-1],设置边界right mid - 1 3、[mid1,right]&#x…...

【告别篇】大家好,再见了,我转行了,在筹备创业

前言 相信大家也一直看到我的博客没有更新过了,我其实很久没有打开过博客了,也就意味着我很长一段时间都在停滞不前,没有了学习的动力。 现在我上来是想跟大家告个别 : 很多粉丝宝宝的私信我看了,但是没有回&#xf…...

Java——岛屿数量

题目链接 leetcode在线oj题——岛屿数量 题目描述 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相…...

《代码整洁之道》笔记

1章:专业人士要有专业人士素养,要有责任心,编写代码尽可能完善没有bug,有bug也要勇于承担。坚持学习,坚持练习,保证自己的专业技能。谦虚,相互学习,与顾客达成一致2章:说…...

个人网站如何集成QQ快捷登录功能?

目录 一、网站集成QQ快捷登录的好处 二、网站接入QQ快捷登录具体步骤 (1)登录到QQ互联官网 (2)进行个人开发者认证 (3)创建网站应用 (4)填写网站资料 三、如何在本地开发环境…...

从工厂打螺丝到月薪18k测试工程师,我该满足吗?

以前我比较喜欢小米那句“永远相信美好的事情即将发生”,后来发现如果不努力不可能有美好的事情发生!01高中毕业进厂5年,创业经商多次战败,为了生计辗转奔波高中毕业后我就进了工厂,第一份工作是做模具加工。从500元一…...

【相关分析-高阶绘图】MATLAB实现皮尔逊相关分析-散点直方图

虽然皮尔逊相关分析很常见,但如何更好的展现相关性、散点分布、柱状分布,以提升研究结果的美感和冲击感呢?本文拟通过MATLAB绘制包含散点分布、柱状分布、线性展示的散点直方图,有助于审稿人眼前一亮。 1、Pearson相关系数原理 Pearson相关系数(Pearson Correlation Co…...

Spark性能优化二 Shuffle机制分析

(一) 什么情况下发生shuffle 在MapReduce框架中,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce;而Reduce阶段负责从Map端拉取数据并进行计算。在整个shuffle过程中&#xff0c…...

软测入门(四)Appium-APP移动测试基础

Appium 用来测试手机程序。 测试方面: 功能测试安装卸载测试升级测试兼容测试 Android系统版本不同分辨率不同网络 网络切换、中断测试使用中来电话、短信横竖屏切换 环境搭建 Java安装(查资料)Android SDK安装,配置 HOME和P…...

华为OD机试用Python实现 -【集五福】 |老题且简单

华为OD机试题 最近更新的博客华为 OD 机试 300 题大纲集五福题目描述输入描述输出描述示例一输入输出示例二输入输出代码编写思路Python 代码最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典...

Typro使用以及安装教程来啦

Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就想是写Word文档一样流畅自如,不像其他编辑器的有编辑栏和显示栏。今天为大家分享下有关Typroa的安装以及使用&a…...

南阳专业网站制作费用/网络营销推广有效方式

第 2 节《数据输入与编辑技巧》教学设计及反思一、学习者分析学生经过第一节课的学习已经熟悉了Excel的工作界面、基本掌握EXCEL工作表的建立、数据的录入以及对表格进行数据的修改与调整,学生学习的兴趣浓厚,而转入本节抽象思维要求较高的公式编写&…...

网站页面设计多少钱/美国最新消息今天 新闻

Dependency Walker 查看dll的依赖 reflector 反射工具查看dll结构 转载于:https://www.cnblogs.com/maoya/archive/2013/04/19/3031249.html...

温州网站建设哪家好/新媒体运营主要做什么

iOS开发网络篇—网络编程基础 一、为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图 (2)只有通过…...

成都装修公司推荐/广东seo推广

struts2 之前没用过,也没打算学习,应为听大家说效率好像有点慢而且使用起来比较麻烦,但是换了工作后发现公司使用的是struts2所以只能用了,因为之前没学过(一点不了解)所以怎么访问的都会不,怎么…...

做网站好处/今日最火的新闻

pandas DataFrame 数据转化为 列表 list的方法 大家好,我叫亓官劼(q guān ji ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文原创为亓官劼&am…...

服装企业网站建设现状/营销方式

官方亚克力外壳比较简单,一共就分为3大部分,以及四组螺丝螺母。最下面的是黑色底座,以及最上面的透明盖板,另外4根长条是放在中间层用来固定LimeSDR Mini的PCB的,另外还起到包裹侧面的作用。四根螺丝长度一样&#xff…...