基于单片机的防酒驾控制系统设计

摘 要: 酒后驾车的危害十分巨大,因此,笔者介绍了一种基于单片机的防酒驾控制系统。系统由酒精传感器 MQ-3测量汽车驾驶员体内的酒精含量浓度,通过 A/D 转换器转换成数字信号传给单片机,经过单片机处理后显示酒精浓度,当浓度大于规定数值时,语音播报模块发出警报,并通过继电器切断汽车内的油箱电源或关闭阀门。系统能够有效防止酒驾,起到了安全出行的效果。
关键词: 酒精传感器;A/D 转换器;单片机;酒驾

1  系统设计组成

随着改革开放的深入,我国的经济有了飞速发展,轿车已经开进了千家万户,部分家庭甚至有了多辆轿车。车子普及带来方便的同时,也给人们的生活留下来安全隐患。尽管国家有相关法律严禁酒后驾车,但是,有一些司机喜欢酒后开车,从而造成交通事故,车毁人亡的悲剧屡见不鲜。为了避免司机酒驾,让悲剧不再发生,笔者设计了基于单片机的防酒驾控制系统,系统的组成部分如图 1 所示。
基于单片机的防酒驾控制系统中的酒精传感器采用了电池型 MQ-3 ,通过该酒精传感器检测汽车驾驶人员呼出的气体酒精含量,测得信号经过 A/D 转换器转换成数字信号发送给 AT89C51 单片机 ,单片机会判断酒精含量是否超过安全驾驶的标准,并通过 LED 显示模块显示该人员体内的酒精含量浓度,使驾驶人员能够清楚明白自己是否能够继续开车出行。为了加强安全保障,本系统设计中还配有语音播报模块,如果单片机检测出的结果是酒精浓度超标时,语音播报模块会发出“请注意安全,杜绝酒后驾驶!”的语音提醒。即使驾驶员还是坚持驾车,其也开不走汽车,因为本设计中的智能闭阀系统会被开启。当检测驾驶人员酒精超标时,系统中控制油路电源信号的继电器会开启,从而切断油路关闭汽车油阀,使发动机停止工作。

2  系统硬件设计

2.1 酒精传感器

酒精传感器是系统设计的核心,目前适用于现场使用的酒精传感器主要有半导体型和燃料电池型两种类型,酒精传感器将酒精的体积分数转换为电信号,探测头通过传感器对 空气中的其他气体进行过滤、除杂等。 MQ-3 酒精传感器不但具有良好的灵敏度,而且寿命长、成本低、耐汽油、烟雾和水蒸气等 对应电路图,如图 2 所示。

2.2 A/D 转换器

单片机应用系统能够直接识别和处理的是数字信号,而酒精传感器输出的是模拟信号,为了让信号能够被单片机处理,需要增加 A/D 转换器。传感器先将被测量对象如温度、湿度、速度、加速度以及压力等非电物理量转换成连续变化的模拟电信号,A/D 转换器再将这些模拟电信号转换成数字量后被单片机识别和处理。A/D 转换器大致分有三类:一是双积分 A/D 转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢。二是逐次逼近型A/D 转换器,速度、精度、价格适中。三是 ∑ - A/D 转换器。本设计中采用的是 ADC0804 模数转换器,它是一种8 位分辨率、转换时间为 100 μ s 、双通道 A/D 转换芯片,输出电压是 -5 +5 V ,输入输出电平可以与 TTL/CMOS 兼容。

2.3 语音播报模块

A/D 转换器将转换获取酒精值的数字信号传递给单片机后,单片机对该信号进行分析比对,与事先设置的标准值进行比较,判断驾驶人员体内酒精浓度是否超标。如果超过标准值,单片机会发出信号,驱动语音播报模块发出声音报警。语音播报模块芯片 WT588D 管脚图如图 3 所示。

2.4 继电器模块

驾驶人员在获知自己体内酒精浓度超标,语音播报模块发出声音报警时,如果还想要启动汽车,那么单片机的P2.7 口将会控制继电器,切断汽车电源,使汽车无法正常启动,从而有效防止酒后驾车。继电器模块的电路图如图 4所示。

3  系统测试

本系统采用 KEIL 公司 UVISION 系列的集成开发环境编写相关代码,编译器完成对程序的编译、连接等工作,并最终生成可执行文件。系统测试结果如表 1 所示。

4  结  语

本文介绍了一种基于单片机的防酒驾控制系统设计,系统结构比较简单,包括的组成部分比较完善。首先通过语音报警系统对驾驶人员提出警示,如果未果,再通过继电器模块直接切断汽车油路,让汽车无法启动,能够有效防止酒驾,起到保障人们安全出行的效果。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2 极/2 零 (2P2Z) 补偿器

极/2 零 (2P2Z) 补偿器是模拟 II 型控制器的数字实现。它是一种滤波器,通过考虑两个极点和一个零点,将特定的增益和相位升压引入系统。您必须战略性地选择每个极点和零点的频率位置,这将有助于实现所需的系统性能。在该…

简单的手动实现spring中的自动装配案例

简简单单的实现一个spring中的自动装配和容器管理的小骚操作。 1,创建AutoSetBean.java 使用injectBeans静态方法,可以扫描指定包下的所有带MyInject注解的字段,如果在beans的Map中存在这个字段的实例化类,则执行装配。 import…

解决C++编译时的产生的skipping incompatible xxx 错误

问题 我在编译项目时,产生了一个 /usr/bin/ld: skipping incompatible ../../xxx/ when searching for -lxxx 的编译错误,如下图所示: 解决方法 由图中的错误可知,在编译时,是能够在我们指定目录下的 *.so 动态库的…

干冰运输与存储中的温度监测:确保药品安全与合规性

在制药行业,干冰对于运输和储存对温度敏感的药品,如原料药API、疫苗、冻干物质和人体组织样本等至关重要。虹科ELPRO LIBERO系列干冰温度记录仪,能够为您提供专业的解决方案,定期监测和记录干冰运输和存储过程中的温度&#xff0c…

通信软件开发之业务知识:PON口割接什么意思?

一 PON口割接(原创总结) 在通信领域,PON口割接指的是对无源光网络(Passive Optical Network,PON)端口进行的切换或调整操作。简单来说,就是对光纤网络中的某个端口进行重新连接或重新分配&…

2-25 基于matlab的语音信号降噪处理算法

基于matlab的语音信号降噪处理算法,采用谱减法,可以对强噪声背景下的语音信号进行去噪。输入原始信号及加噪信号,对加噪信号进行降噪,并提高信噪比。程序已调通,可直接运行。 2-25 语音信号降噪处理算法 谱减法 - 小红…

Vue3基础(二)

一、搭建工程(vite) ## 1.创建命令 npm create vuelatest## 2.具体配置 ## 配置项目名称 √ Project name: vue3_test ## 是否添加TypeScript支持 √ Add TypeScript? Yes ## 是否添加JSX支持 √ Add JSX Support? No ## 是否添加路由环境 √ Add Vue Router for Single P…

NSSCTF-Web题目24(RCE-空格绕过、过滤绕过)

目录 [MoeCTF 2021]babyRCE 1、题目 2、知识点 3、思路 [SWPUCTF 2022 新生赛]funny_web 4、题目 5、知识点 6、思路 [MoeCTF 2021]babyRCE 1、题目 2、知识点 空格绕过、过滤绕过 3、思路 出现源码,进行代码审计 需要我们GET方式上传一个rce变量&#x…

【扩散模型(三)】IP-Adapter 源码详解1-输入篇

系列文章目录 【扩散模型(一)】中介绍了 Stable Diffusion 可以被理解为重建分支(reconstruction branch)和条件分支(condition branch)【扩散模型(二)】IP-Adapter 从条件分支的视…

Web美食分享平台的系统-计算机毕业设计源码45429

基于Web美食分享平台的系统设计与实现 摘 要 本研究基于Spring Boot框架,设计并实现了一个Web美食分享平台,旨在为用户提供一个交流分享美食体验的社区平台。该平台涵盖了用户注册登录、美食制作方法分享发布、点赞评论互动等功能模块,致力于…

如何在Windows 11上复制文件和文件夹路径?这里提供几种方法

在Windows 11上复制文件或文件夹的路径就像在右键单击菜单中选择一个选项或按键盘快捷键一样简单。我们将向你展示如何在电脑上以各种方式进行操作。 从右键单击菜单 复制文件或文件夹路径的最简单方法是在该项目的右键单击菜单中选择一个选项。你也可以使用此方法复制多个项…

电表读数检测数据集VOC+YOLO格式18156张12类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):18156 标注数量(xml文件个数):18156 标注数量(txt文件个数):18156 标…

使用JAR命令打包JAR文件使用Maven打包使用Gradle打包打包Spring Boot应用

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

vue 模糊查询加个禁止属性

vue 模糊查询加个禁止属性 父组件通过属性传,是否禁止输入-------默认可以输入

VirtualBox 安装 Ubuntu Server24.04

环境: ubuntu-2404-server、virtualbox 7.0.18 新建虚拟机 分配 CPU 核心和内存(根据自己电脑实际硬件配置选择) 分配磁盘空间(根据自己硬盘实际情况和需求分配即可) 设置网卡,网卡1 负责上网&#xff0c…

字符串相似度算法完全指南:编辑、令牌与序列三类算法的全面解析与深入分析

在自然语言处理领域,人们经常需要比较字符串,这些字符串可能是单词、句子、段落甚至是整个文档。如何快速判断两个单词或句子是否相似,或者相似度是好还是差。这类似于我们使用手机打错一个词,但手机会建议正确的词来修正它&#…

【VUE基础】VUE3第三节—核心语法之ref标签、props

ref标签 作用&#xff1a;用于注册模板引用。 用在普通DOM标签上&#xff0c;获取的是DOM节点。 用在组件标签上&#xff0c;获取的是组件实例对象。 用在普通DOM标签上&#xff1a; <template><div class"person"><h1 ref"title1">…

使用 PyTorch 创建的多步时间序列预测的 Encoder-Decoder 模型

Encoder-decoder 模型在序列到序列的自然语言处理任务&#xff08;如语言翻译等&#xff09;中提供了最先进的结果。多步时间序列预测也可以被视为一个 seq2seq 任务&#xff0c;可以使用 encoder-decoder 模型来处理。本文提供了一个用于解决 Kaggle 时间序列预测任务的 encod…

笔记13:switch多分支选择语句

引例&#xff1a; 输入1-5中的任意一共数字&#xff0c;对应的打印字符A,B,C,D,E int num 0; printf("Input a number[1,5]:"); scanf("%d"&#xff0c;&num); if( num 1)printf("A\n"); else if(num2)printf("B\n"); else i…

ZYNQ7020的bank引脚分区

一张图看ZYNQ7000的资源分布 从图中看出BANK33 34 35是ZYNQ的PL部分 也就是FPGA部分PS部分在BANK0 500 501&#xff0c;DDR控制器连接在PS部分BANK33的电压可调