项目五十 酒精检测仪#
1.实验说明#
设置时,通过酒精传感器测试出酒精浓度。然后,利用浓度大小控制有源蜂鸣器报警和1602显示屏显示浓度。从而达到酒精检测仪的模拟效果。
2.实验器材#
keyes brick 有源蜂鸣器模块*1
keyes UNO R3开发板*1
keyes brick MQ-3 酒精传感器*1
传感器扩展板*1
IIC 1602 蓝屏*1
3P双头XH2.54连接线*1
4P 双头XH2.54连接线*2
USB线*1
3.接线图#

4.测试代码#
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C mylcd(0x27, 16, 2);
int item = 0;
void setup()
{
mylcd.init();
mylcd.backlight();
pinMode(3, OUTPUT);
}
void loop()
{
item = analogRead(A3);
mylcd.setCursor(1 - 1, 1 - 1);
mylcd.print("Alcoho:");
if (item < 10)
{
mylcd.setCursor(1 - 1, 2 - 1);
mylcd.print(item);
mylcd.setCursor(2 - 1, 2 - 1);
mylcd.print(" ");
digitalWrite(3, LOW);
}
else if (item < 100)
{
mylcd.setCursor(1 - 1, 2 - 1);
mylcd.print(item);
mylcd.setCursor(3 - 1, 2 - 1);
mylcd.print(" ");
digitalWrite(3, LOW);
}
else
{
mylcd.setCursor(1 - 1, 2 - 1);
mylcd.print(item);
digitalWrite(3, HIGH);
}
delay(100);
}
5.代码说明#
实验中,在1602显示还有检测酒精浓度都跟前面讲的原理是一样的。
分开显示的原因,如果不分开显示出来值的话,最后面那位值就会保留原来的数值,不会被刷新。比如开始显示的值是100,当模拟值降到95的时候,后面的“0”还在,就会显示成“950”。
6.测试结果#
上传测试代码成功,按照接线图接好线,上电后,检测到不同酒精浓度时,外接有源蜂鸣器模块上蜂鸣器报警,1602显示屏上第一行显示“Alcoho:”,第二行显示浓度值。