教大家做一个酒驾杀手-酒精呼吸器_大方老师讲单片机的博客-程序员宅基地

技术标签: c#  物联网  iot  单片机  

我们都看到阿sir对司机使用酒精分析仪来检查他们是否受到酒精的影响。酒后驾车在所有国家都是犯罪行为。但是你知道这台机器很容易制作吗?以下是如何 DIY 具有 3 位显示输出的酒精呼气测醉器。

使用 8051 微控制器 (AT89S51) 的酒精呼吸器电路

这篇文章是关于一个使用 8051 微控制器的呼气测醉器电路,它从呼吸中输出血液酒精含量 (BAC)。BAC 在 3 位七段显示器上以百分比形式显示。如果使用属于 8051 系列的 AT89S51 和酒精传感器的微控制器是 Futurelec 的 MQ135 气体传感器。

MQ135气体传感器电路

MQ135是一款稳定灵敏的气体传感器,可以检测氨气、二氧化碳、酒精、烟雾、二氧化氮等。传感器由氧化铝微管内的二氧化锡敏感层、测量电极和管状铝外壳内的加热元件组成。传感器的前端用不锈钢网覆盖,后侧固定连接端子。

呼气中存在的乙醇在通过加热元件时被氧化成乙酸。这种乙醇落在二氧化锡传感层上,因此其电阻降低。使用外部负载电阻器将该电阻变化转换为合适的电压变化。MQ135 酒精传感器的典型连接布置如下所示。

MQ135在不同温度、不同气体浓度下电阻值不同。制造商建议在 100 ppm 氨或 50 ppm 酒精下校准传感器。负载电阻的推荐值在 10K 到 47K 之间。

 

电路图

 

 

组件列表

  • 酒精传感器 (MQ135) – 1 个
  • IC (ADC 0804) – 1 个
  • 微控制器 (AT89S51) – 1 个
  • 7 段显示 – 3 段
  • 晶体管 (2N2222) – 3 个
  • 开关 – 1 个
  • 电容器 (150pF) – 1 个
  • 电容器 (22uF/10V) – 1 个
  • 电容器 (10uF/10V) – 3 个
  • 电阻器:100 ohm – 11 个,10k – 3 个,22k – 1 个,8.2k – 1 个,330 ohm – 1 个

酒精检测器电路的工作

酒精检测器单元的电压输出使用 ADC0804 (IC1) 转换为数字格式。ADC的 V ref/2引脚使用由 R14 和 R15 组成的分压器网络保持在 1.28V。V ref/2 =1.28V 表示 ADC 的步长为 10mV,模拟输入每增加 10mV,ADC 的输出就会增加一位。请参阅 ADC0804 的数据表以获得更好的理解。ADC 的数字输出(D0 到 D7)连接到微控制器的端口 1。控制信号 CS、RD、WR、INTR 分别从微控制器 P3.7、P3.6、P3.5、P3.4 引脚获得。R9 和 C1 与 ADC0804 的时钟电路相关联。

电容 C3 连接在 ADC0804 的 V in+和 V in-之间,用于过滤传感器输出中的噪声(如果有)。如果不使用 C3,ADC 的数字输出将不稳定。这个滤波电容肯定会在 ADC 响应中引起一些滞后,但在这个入门级应用中并不是很重要。微控制器对 ADC 数字输出执行所需的操作,以便将其转换为 BAC % 并将其显示在三位七段显示器上。微控制器的端口 0 连接到多路复用的三位七段显示器。三位数的驱动信号分别从微控制器的 P3.0、P3.1、P3.2 引脚获得。

程序

ORG 00H

MOV P1,#11111111B

MOV P0,#00000000B

MOV P3,#00000000B

MOV DPTR,#LUT

MAIN: MOV R4,#250D

      CLR P3.7

      SETB P3.6

      CLR P3.5

      SETB P3.5

WAIT: JB P3.4,WAIT

      CLR P3.7

      CLR P3.6

      MOV A,P1

      MOV R5,A

      SUBB A,#86

      JC NEXT

      SETB P3.3

      CLR PSW.7

NEXT: MOV A,R5

      SUBB A,#115D

      JNC LABEL

      MOV A,#00000000B

      CLR PSW.7

LABEL: MOV B,#5D

       MUL AB

       MOV B,#8D

       DIV AB

       MOV B,#10D

       DIV AB

       MOV R6,A

       MOV R7,B

DLOOP:SETB P3.0

      MOV P0,#01000000B

      ACALL DELAY

      CLR P3.0

      SETB P3.1

      MOV A,R6

      ACALL DISPLAY

      MOV P0,A

      ACALL DELAY

      CLR P3.1

      SETB P3.2

      MOV A,R7

      ACALL DISPLAY

      MOV P0,A

      ACALL DELAY

      CLR P3.2

      DJNZ R4,DLOOP

      SJMP MAIN

DELAY: MOV R3,#255D

LABEL1: DJNZ R3,LABEL1

        RET

DISPLAY: MOVC A,@A+DPTR

         CPL A

         RET

LUT: DB 3FH

     DB 06H

     DB 5BH

     DB 4FH

     DB 66H

     DB 6DH

     DB 7DH

     DB 07H

     DB 7FH

     DB 6FH

END

  • 注意事项
  • MQ135 气体传感器在首次使用前需要大约 5 分钟的预热时间。
  • MQ135 在检测呈阳性后需要几分钟才能恢复到正常状态(呼吸中存在酒精)。
  • 如果呼吸中没有酒精,传感器输出将很快回到正常状态。
  •   在尝试此项目之前,请阅读这些文章将七段显示器连接到 8051 微控制器将 ADC 连接到 8051 微控制器。
  • 该呼气测醉器电路只是入门级电路,不适用于执法或实验室应用等高端应用。
  • 将 ADC 的数字输出转换为 BAC 百分比的逻辑是使用近似技术获得的。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/danpianji777/article/details/122941673

智能推荐

mysql 解决主从延迟的方发二_awesome_go的博客-程序员宅基地

今儿打算给大家分享的是如何解决MySQL主从延迟的问题,这个也是一些同学在生产中面临的比较棘手的问题, 经常给我打电话或者微信,说张老师,现在监控主从之间的延迟特别大。怎么办啊?!有什么办法可以避免延迟嘛?!面对抛出这样的问题,我们先来了解下生产中有哪些主从架构?线上生产环境一般有一主一从,一主多从,多主一丛(级联复制,MySQL5.7之后才有) ,主主复制。主从架构存在目的就...

系统管理员漫谈企业内部图书馆的建立与日常管理_weixin_34101784的博客-程序员宅基地

本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~    原文:    http://www.lifelaf.com/blog/?p=287    每日一道理 岭上娇艳的鲜花,怎敌她美丽的容颜?山间清澈的小溪,怎比她纯洁的心灵?    对于技巧密集型的企业、门部,建立和护维一个部内藏书楼可以更好地为员工供提学习资料,增强员工间的技巧交流,并有助...

windows10构建局域网FTP服务器(用于IPhone文件传输)_大地。的博客-程序员宅基地_win10 内网ftp

构建WINDOWS中的FTP服务器,在局域网内设置,并使用IPhone登录FTP服务器进行文件传输。

Google AdSense注册流程_好人不心的博客-程序员宅基地_谷歌adsense注册

2022年最新版网站发布商 adsense注册申请指南/谷歌广告联盟账号过审教程 – GG联盟挑战 (zcot.cn)

php输出txt文件乱码,php生成txt乱码_weixin_39639381的博客-程序员宅基地

前言相信很多人在使用PHP的过程中都遇到过生成文件乱码的情况,不论是使用fwrite还是file_put_contents写入。可能你会先尝试从编码入手尝试解决,但最终的结果往往是不理想的,尽管我们都将其转换为了UTF-8编码了...那么究其根本原因是什么呢?一句话:缺少头部BOM(当然,这里指的肯定不是Js的Bom)BOM既然提到了BOM,那么可能有的同学不太了解这个家伙,这里我简单说一下,老鸟...

linq to xml操作XML_weixin_34018169的博客-程序员宅基地

linq to xml操作XML LINQ to XML提供了更方便的读写xml方式。前几篇文章的评论中总有朋友提,你为啥不用linq to xml?现在到时候了,linq to xml出场了。.Net中的System.Xml.Linq命名空间提供了linq to xml的支持。这个命名空间中的XDocument,XElement以及XText,XAttribute提供了读...

随便推点

基于arcgis对安徽水体富营养化的研究_weixin_34331102的博客-程序员宅基地

水体富营养化是生物所需的氮、磷等营养物质大量进入湖泊、河海湾等缓流水体,引起藻类及其他浮游生物迅速繁殖,水体溶解氧量下降,水质恶化,鱼类及其他生物大量死亡的现象。近年来安徽地区淮河、长江、巢湖等地区水体富营养化尤为严重,导致大量的“浮萍”、“蓝藻”、“赤潮”等情况出现,严重地影响了经济、生活和生态环境。因此如何防止水体富营养化已经成为了当今研究的重要课题,本产品是基于...

python mql4_Python语言稳居2015年12月编程语言TOP 4_weixin_39792393的博客-程序员宅基地

Python编程语言早已呈现了逐年上升的趋势,现如果以经可以在编程语言界前三中站稳脚跟。当然Java还是要比Python受众更多一些,但Python的崛起,而且无处不在使用它,Python是当前脚本的标准。 编程语言排行榜是编程语言流行趋势的一个指标,会定期的每月进行更新。Python语言稳居去年12月编程语言排名,这个月的排名是什么样子的,我们一起来看下。由图中的统计结果可以看出,在今年的12月...

CDN知识详解_普通网友的博客-程序员宅基地

CDN全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络基本思路:尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量...

codeforce-298B Sail(模拟)_basketball616的博客-程序员宅基地_codeforce 大模拟

B. Sailtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe polar bears are going fishing. They plan to sail from (sx, sy) to (ex,...

加密解密_weixin_30348519的博客-程序员宅基地

2013年9月23日转: Generating a Key from a Password.NET Security Bloghttp://blogs.msdn.com/b/shawnfa/archive/2004/04/14/generating-a-key-from-a-password.aspxIf you're trying to encrypt data usin...

经典重译 | 来自华盛顿大学教授的机器学习“内功心法”_weixin_34361881的博客-程序员宅基地

本文最初发表在 《ACM通讯》2012年第10辑。作者是华盛顿大学教授,著名的机器学习专家 Pedro Domingos。作者2016年凭借畅销书《终极算法》而名声大噪,成为全球机器学习领域代表人物之一。而5年前 Domingos 教授发表的这篇“内功心法”,也是整个国外机器学习领域几乎人人必读的一篇文章。在很多大学的机器学习课程以及优达学城等在线培训体系中,都推荐学生精读此文。这篇文章高屋建瓴的...

推荐文章

热门文章

相关标签