基于mq | 您所在的位置:网站首页 › 酒精检测仪怎么测 › 基于mq |
设计要求 (1)设计一款基于51单片机的酒精检测仪; (2)MQ-3传感器检测被测气体中酒精含量,单片机进行数据分析处理; (3)LCD1602显示酒精浓度测量值和报警阈值; (4)当测量值高于设定阈值后,能够发出声光报警; (5)用户可通过按键自定义报警阈值大小; (6)完成仿真搭建、原理图绘制以及C程序编写。 系统概述 酒精检测仪硬件部分主要由单片机控制系统、MQ-3酒精传感器、ADC0832模数转换器、LCD1602液晶显示器、声光报警电路、按键电路和5V供电电路组成,结构如下图所示。 软件部分则由C语言编程实现。 ![]() 工作原理为:MQ-3传感器实时检测被测气体中的酒精浓度,并输出模拟信号到ADC0832模数转换器,数据经A/D转换后,传递到单片机完成分析处理,最后通过LCD1602液晶进行显示。 当测量的酒精浓度高于阈值时,蜂鸣器和LED指示灯发出声光报警。阈值可以通过按键进行设置。 Proteus仿真电路 ![]() 原理图 ![]() 仿真结果分析 MQ-3传感器是将被测气体中酒精浓度转换为0~5V的模拟电压信号输出,且浓度越高输出电压值越大。 由于Proteus软件没有MQ-3传感器模型,因此使用滑动变阻器RV3来替代,通过改变滑动变阻器的阻值,来改变输出电压值的大小,进而模拟酒精浓度的变化。 在原理图绘制和实物制作中,采用的是真实的MQ-3酒精传感器接线。 仿真验证过程如下:打开“酒精检测仪.DSN”仿真文件,双击单片机,在弹出的Edit Component对话框中点击黄色小文件夹图标,加载Alcohol.hex文件,然后运行仿真。 ![]() 仿真运行效果如下图所示,LCD1602显示器第一行显示被测气体中酒精浓度为18mg/100mL,ALC为Alcohol的缩写; 显示器第二行显示设定的报警阈值为25mg/100mL,测量值低于阈值,绿色正常LED灯闪烁。 ![]() 调节滑动变阻器RV3上下两个红色小箭头,模拟被测气体酒精浓度的改变。 比如,调节RV3,模拟测量值为34mg/100mL,大于设定阈值25mg/100mL,此时蜂鸣器发声,红色酒驾LED灯闪烁,以作提醒。
![]() 用户可以通过按键自定义报警阈值大小,操作步骤为: 点击“设置”键,LCD阈值光标闪烁,进入阈值设定模式,然后点击“加”/“减”键改变阈值大小,完成设定后,再次点击“设置”键,即可退出阈值设定模式。 例如,设定报警阈值为56mg/100mL,结果如下所示。 ![]() 综上所述,酒精检测仪仿真运行效果满足设计要求。 部分C代码 代码语言:c复制void main() //主函数 { Init1602(); //初始化液晶函数 init(); //初始化定时器 init_eeprom(); //开始初始化保存的数据 while(1) //进入循环 { for(m=0;m K_ZERO) temp = temp - K_ZERO; //首先减去零点漂移,一般是130mV else temp= 0; sum=0; //平均值计算完成后,将总数清零 if(set==0) //set为0,说明现在不是设置状态 Display_1602(temp,WARNING); //显示AD数值和报警值 if(tempWARNING&&set==0)//AD值大于报警值 { flag=1; //打开报警 } Key(); //调用按键函数 } } void Key() //按键函数 { if(Key1==0) //设置键按下资源内容 (1)基于51单片机和MQ-3传感器的酒精检测仪毕业论文; (2)Proteus仿真文件; (3)Keil C程序; (4)原理图文件; (5)Visio流程图; (6)硬件资料; (7)元器件清单; 资源截图 ![]() ![]() ![]() ![]() ![]() |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |