风筝
发表于: 2020-4-13 18:34:31 | 显示全部楼层

在本篇文章中,我们使用Arduino开发板和MQ-135酒精传感器设计了一款酒精度数计,用于测量人体呼气中的酒精含量。只需将MQ-135气体传感器模块与Arduino和1602 LCD模块连接即可显示。我们使用的酒精传感器是MQ-135传感器。这是一种对酒精敏感的传感器,乙醇是在葡萄酒、啤酒和白酒中发现的一种酒精。除了MQ-135,您还可以使用MQ2、MQ3、MQ5模块。基本上,它们都具有相似的功能。


这种类型的传感器电路可以用作呼吸气体检查器来检查人的血液中的酒精含量。正如我们在呼气时呼出二氧化碳一样,如果我们的血液中有酒精,我们也会呼出一些酒精。任何酒精计设备都可以测量此酒精含量。血液中的乙醇越多,呼气时空气中的乙醇就越多。这种酒精含量可以很好地指示一个人是否醉酒。呼出到空气中的酒精含量与在人血液中发现的酒精含量成正比。酒精度数计使用内置公式从呼出的空气酒精含量估算血液酒精含量。

Untitled-4-1000x562.png


对于不同的国家,将人定义为超出驾驶限制的血液中酒精含量会有所不同。范围是0.01到0.10。大多数国家/地区的上限约为0.05。例如,希腊、Greenalnd和冰岛的限制均为0.05。加拿大将上限设定为0.08。在我们的电路中,它可以用作酒精计,以便我们估算一个人的血液酒精含量。


所需的组件

为了使用Arduino和MQ-135酒精气体传感器设计酒精度数计,我们需要以下组件:

●    Arduino UNO开发板

●    1602液晶屏

●    MQ-135气体/酒精传感器模块

●    LED指示灯

●    面包板

●    连接跳线


使用Arduino和MQ-135酒精传感器的酒精浓度计连接图

现在,在管理完这些组件之后,请执行以下连接:

DigitalThermometer_bb.jpg


MQ-135酒精传感器模块简介


MQ-135模块传感器在清洁空气中的电导率较低。当目标可燃气体存在时,传感器的电导率会随着气体浓度的升高而升高。转换电导率的变化以对应气体浓度的输出信号。 MQ135气体传感器对氨、硫化物和苯蒸汽具有很高的灵敏度,对烟气和其他有害气体也很敏感。它价格低廉,适用于各种应用,例如有害气体/烟雾检测。


MQ-135模块传感器的特征

●    检测范围广

●    快速响应和高灵敏度

●    稳定长寿命简单的驱动电路

●    用于建筑物/办公室的空气质量控制设备,适用于检测NH3、NOx、酒精、苯、烟雾、CO2等。

●    尺寸:35mm x 22mm x 23mm(长x宽x高)

●    工作电压:DC 5 V

●    信号输出指令。

●    双信号输出(模拟输出和高/低数字输出)

●    4.2V模拟输出电压,浓度越高,电压越高。


MQ-135酒精传感器由二氧化锡(SnO2)、氧化铝微管(测量电极)内的透视层和管状壳体内的加热元件组成。传感器的端面被不锈钢网包围,背面固定连接端子。燃烧任何东西都会从源头散发出烟。随着烟雾在二氧化锡感测层上级联,电阻降低。通过使用外部负载电阻,电阻变化被转换为相应的电压变化。


Arduino源代码

以下是使用Arduino和MQ-135酒精传感器设计酒精度计的源代码。只需复制代码,然后使用Arduino IDE将其上传到您的Arduino开发板。

  1. #include <LiquidCrystal.h>
  2. LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

  3. int ledPin = 10;
  4. int sensorPin = A0;
  5. int value;

  6. void setup()
  7. {
  8. Serial.begin(9600);
  9. lcd.begin(16,2);
  10. pinMode(ledPin,OUTPUT);
  11. }
  12. void loop()
  13. {
  14. int Value = analogRead(sensorPin);
  15. value = analogRead(A0);
  16. lcd.print("Alcohol Lev.:");
  17. lcd.print(value-50);
  18. Serial.print(value);
  19. if (value-50 > 400)

  20. {
  21.     digitalWrite(ledPin,HIGH);
  22.      lcd.setCursor(0, 2);
  23.      lcd.print("Alert....!!!");
  24.     Serial.print ("Alert");   
  25.   }
  26.   else {
  27.     digitalWrite(ledPin,LOW);
  28.       lcd.setCursor(0, 2);
  29.       lcd.print(".....Normal.....");
  30.     Serial.print("Normal");
  31.   }

  32. delay(500);
  33. lcd.clear();
  34. }
复制代码

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-27 07:08 , Processed in 0.040147 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表