基于mq 您所在的位置:网站首页 酒精检测仪怎么测 基于mq

基于mq

2024-05-08 11:08| 来源: 网络整理| 查看: 265

设计要求

(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 实验室设备网 版权所有