基于单片机的一氧化碳报警系统的设计与实现

2024-08-26 18:52

本文主要是介绍基于单片机的一氧化碳报警系统的设计与实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘 要: 一氧化碳对人体有害,尤其超标时会影响人们的健康 因此文章设计了一款基于单片机的一氧化氮报警器设计。 论文通过传感器检测一氧化碳浓度,经过 AD 转换,再把检测信号传递给单片机,经过分析处理,再控制外电路进行相应的操作。 检测装置采用的是 MQ-7 ,控制核心采用的是 STC89C51 单片机 模数转换模块才用的是ADC0809。 而且系统还可以把一氧化碳浓度及时的显示在 LCD1602 液晶屏幕上,可以方便用户的阅读 当浓度达到设定浓度的时候,单片机会控制排气扇来把一氧化碳排放出去。
关键词: 一氧化碳传感器;单片机;智能控制; LCD 显示
在北方的冬天,因为天气非常严寒,所以人们会取暖 。我们经常可以在农村地区见到用炉子的方式来取暖,炉子里燃烧的是煤,而煤的燃烧会产生一氧化碳,假如浓度过高的话,就会对人体产生危害。 一氧化碳和氧气相比,可以直接和血红蛋白融合,所以会产生碳化血红蛋白,导致血红蛋白丧失结合氧气的能力,而没有了氧气的话,人体就会出现各种不适应,不能呼吸,就会使人窒息而死亡。而且就算不会窒息死亡,如果浓度过高的话,对人体的大脑皮层也会产生极大的危害。 所以经过分析,设计一款能够自动检测一氧化碳浓度,并且在浓度超标的时候,可以及时报警,同时把一氧化碳排出的控制系统是非常必要的。 采用 51 单片机技术设计了一个一氧化碳报警系统,该系统能够采集,测量一氧化碳浓度,并能通过 LCD1602 显示浓度信息,通过单片机的运算,能够控制室内一氧化碳浓度,不让它超标。 如果浓度超过用户设定的浓度,就会控制排气扇,来降低一氧化碳浓度。 在最大程序上,保护人体的生命安全问题。

1 方案设计

1.1 系统总框图

本文的核心器件包含有单片机 MQ-7 一氧化碳检测器,ADC0809 模数转换器 按键电路 声光报警电路 液晶显示电路和排气扇电路组成。 在实际工作的时候,烟雾浓度传感器先检测一氧化碳的浓度,并把浓度信息转换为电信号。 ADC0809 将模拟量的电信号转变成数字信号,且传播给单片机。 单片机通过内部环节的计算,将数字信号转变成浓度信号,并把浓度值显示在 LCD1602 液晶屏幕上 用户可以通过按键来设定浓度的标准值,当浓度超过用户设定的浓度值以后,就会控制声光报警模块进行报警,并且开启排气扇,减低一氧化碳的浓度。 因此,经过这么一系列的控制,把原本零散的功能,经过单片机的智能控制,就形成了一个新的控制系统。 本设计的总体框图如图 1 所示

1.2 系统功能要求

本系统具体研制一般涵盖下面众多部分:( 1 )实时监测环境内一氧化碳具体浓度值;(2 )灯光报警作用:在一氧化碳浓度过高的时候,会出现灯光报警,此外继电器吸和,促使排气扇运作,减少一氧化碳浓度值;(3 )声光报警作用:在一氧化碳浓度过高的时候,蜂鸣器报警,此外继电器吸和,促使排气扇开启,减少浓度值。

2 硬件设计

2.1 主要硬件选型

1 )单片机的选取 目前市场主流的单片机有 51 系列 、STM32 系列和 MSP430 系列等 其中 STM32 系列单片机内部资源众多,控制灵活多变,功耗很低的嵌入式开发芯片,在 32 位的芯片中,是一个绝佳的选择 MSP430 单片机推广的时间长,因此该芯片在市场上也占有一定的份额。 还有一种就是最传统的 8 51 系列单片机, 51 单片机可以兼容8031 指令,而且 51 单片机价格便宜 51 系列单片机主要由AT 公司生产的单片机和 STC (飞利浦)公司生产的为主,并且还有 RAM 单片机 在本设计中,因为需要控制 LCD 液晶显示屏,还需要把键盘的输入指令一块编译,从控制要求来说并不算高,因此从控制要求和经济性来选择,51 系列单片机完全可以满足控制要求,而且单片机价格便宜。 因此在本设计中,选择了 51 系列单片机作为了控制芯片
2 LCD1602 液晶显示器 通常的显示器件有 LCD 液晶显示器和 LED 数码管显示器 LED 数码管可以显示数字和一些简单的字符,可操作性不强,而且数码管相对比较耗电,因此在众多的时候不会选择数码管作为显示器件。 LCD液晶显示器不仅可以显示数字,还可以显示字符或符号,可 操作性比较强 。而且操作简单,程序设计的时候可移植性非常好,功耗比较低,所以本文使用 LCD1602 液晶显示器

2.2 设计的总原理图

本系统包括 51 单片机,传感器模块,液晶显示模块,声光报警提示模块,排风扇驱动模块,按键电路。 当一氧化碳传感器检测到浓度超标时,单片机会接收到信号,经过内部处理与判断后,会发出报警信号,传递给蜂鸣器和闪光灯控制端口。 当单片机在蜂鸣器的控制脚将电平拉低时,与蜂鸣器相连的三极管就会导通,此时蜂鸣器得电,发出鸣叫。 当浓度超标时,会控制 FS 端口的电平为低电平,此时三极管导通,继电器得电,常开触头会闭合,再控制排气扇工作。 图2 是系统的总原理图

3 结 语

论文设计的 CO 气体报警器主要将 STC89C51 当做主芯片,在 ADC0809 输入电压是 5 V 时,输出数字量值是 FFH ,最高分辩率是 0.0196V 出现的显示偏差,利用校正 0809的基准参考电压进行处理。 总而言之,此系统功能强大,具备测试- 显示 - 排查主要作用,准确度在性价比高的前提下被较大提升,然而本文能力有限,在具体设计中也出现一定的问题。 例如灵敏度较差,对水蒸气防御水平不高,上述问题都需要在此后进行处理。

这篇关于基于单片机的一氧化碳报警系统的设计与实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM