基于51单片机的甲醛浓度检测仪

该设计利用51单片机STC89c52RC和ZE08-CH2O甲醛传感器模块,构建了一个甲醛浓度检测报警系统。系统包括键盘输入、液晶显示、LED灯和蜂鸣器报警功能。用户可设置报警阈值,当甲醛浓度超标时,蜂鸣器和LED将启动报警。软件部分主要涉及定时器和串口中断处理,实现了数据读取、显示和报警控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬件方案

        本设计以51单片机作为控制核心,甲醛模组传感器作为检测信号源,实现在甲醛浓度超过一定值的时候控制扬声器提示。本课题以C51系列的STC89c52RC为控制核心,甲醛模组传感器模块检测信息,设置系统键盘模块,警报电路,液晶显示,组成甲醛检测仪系统总成综合实现所有功能。电路主要由51单片机甲醛浓度报警器采用51单片机+ZE08-CH2O甲醛浓度传感器+LCD1602液晶显示+LED灯+按键+蜂鸣器设计而成;原理图如图:

 PCB及仿真图:

设计功能

  • 采用ZE08-CH2O检测当前甲醛浓度值并实时显示;
  • 通过按键可设置报警最小浓度。当实际测出的甲醛浓度大于设定的浓度时就会使得蜂鸣器、LED灯报警;
  • LED灯显示正常工作状态和报警状态;
  • LCD1602液晶显示所测的距离已经设置的报警阈值,简单明了;按键说明:增加键,减少键。

软件设计

主程序源码

void main()
{
    uchar h,l;
    LCD1602_cls();      //LCD 1602   调用初始化程序
    TMOD=0x21;    //配置定时
    TH0=0x4c;        //50ms  定时赋值
    TL0=0x00;
    ET0=1;
    TR0=1;
    TH1=0xfd;        //串口波特率定时初始
    TL1=0xfd;
    SCON=0x50;    //只发送
    EA=1;        //打开定时总中断
    ES=1;        //打开串口中断                
    TR1=1;
    h=byte_read(0x2000);
    l=byte_read(0x2001);   //读取保存的数据
    ch2o_H=h*256+l;
    if(ch2o_H>700)
    ch2o_H=80;
    while(1)
    {
        show();         //显示函数
        key();         //按键处理程序
        proc();         //超限处理程序
    }
}


void UART_1() interrupt 1 
{
    TH0=0x4c;
    TL0=0x00;
    ms++;
    if(ms%2==0)   //长按按键计数处理
    {
        if(sec>1)
        {
            if(!key_1)    //设置按键长按处理
            {
                if(ch2o_H<700)ch2o_H++;
            }
            if(!key_2)
            {
                if(ch2o_H>0) ch2o_H--;
            }
        }
    }
    if(ms%10==0)
    {
        if(beep1==1)    //蜂鸣器报警处理
        {
            beep=!beep;
        }else
        {
            beep=1;
        }
    }
    if(ms>19)       //1s 定时
    {
        ms=0;
        sec++;
        
    }
} 

资料链接:https://pan.baidu.com/s/1ZHL3A_d9lP3Mb_dws6qDrw?pwd=i40g 
提取码:i40g

目前,市场上甲醛检测仪的种类也是多种多样,就比如在某宝上,就有半导体传感器甲醛、利用电阻丝发热测甲醛、还有常见的试验纸。虽然价格便宜,但是所测数据不稳定,误差范围过大(误差范围在±20%)。自己DIY了一个便携式甲醛检测仪,这样以后就可以随时检测自己所处环境的甲醛浓度了。 主要配件: HCHO甲醛传感器 DFRduino UNO R3 Gravity I2C LCD1602彩色背光液晶屏 IO 传感器扩展板 电路连线图1-DAC模式: 将传感器上的开关拨至DAC一端。接线图如下所示。 实物接线图1: 注意:DAC模式中,测量精度会受主控器ADC的位数、参考电压精度的影响,因此请使用高精度的电源给主控器供电,或者直接使用主控器的内部参考电压。而且主控器的ADC至少是10位 电路接线图2-UART模式: 将传感器上的开关拨至UART一端。接线图如下所示。 实物接线图2: 以上两种模式,我推荐使用UART模式,因为在此模式下,可以获得更高的精度。 实物效果图: 屏幕采用的是Gravity I2CLCD1602彩色背光液晶屏,共有1600万种颜色组合。为了体现液晶屏的高大上,我一共选用了四种颜色(绿、黄、红、紫)来区分甲醛浓度的不同程度。 当甲醛浓度在安全范围内(则居室空气中甲醛浓度低于0.08mg/m3 或者0.06ppm),屏幕显示的为绿色。 当甲醛浓度超过安全范围(0.06ppm<空气中的甲醛浓度4ppm(此款甲醛传感器检测的最大范围为5ppm),这已经达到报表的程度了,这时屏幕会红色紫色交替闪烁。 【转载自DF社区】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值