一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

聚豐項目 > 基于AB32VG1的有害氣體監(jiān)測儀設計

基于AB32VG1的有害氣體監(jiān)測儀設計

基于AB32VG1開發(fā)板讀取MQ135傳感器數(shù)據(jù),通過串口輸出,實時監(jiān)測有害氣體濃度并提示安全或危險報警。

turbo_Jona turbo_Jona

分享
1 喜歡這個項目
團隊介紹

turbo_Jona turbo_Jona

團隊成員

turbo_Jona 學生

分享
項目簡介
基于AB32VG1開發(fā)板讀取MQ135傳感器數(shù)據(jù),通過串口輸出,實時監(jiān)測有害氣體濃度并提示安全或危險報警。
硬件說明

中科藍訊AB32VG1開發(fā)套件

AB32VG1主頻 120M ,片上集成 RAM 192K, Flash 4Mbit,ADC,PWM,USB,UART,IIC 等資源。提供SDK,驅動齊全,支持RT-Thread Studio 開發(fā)應用,圖形化配置系統(tǒng),一鍵開啟外設,一鍵使用軟件包,強大的自動代碼編輯輔助。


MQ135氣體傳感器對氨氣、硫化物、苯系蒸汽的靈敏度高,對煙霧和其它有害氣體的監(jiān)測也很理想。這種傳感器可檢測多種有害氣體,是一款適合多種應用的低成本傳感器。

軟件說明

#include <rtthread.h>


#include "board.h"


#include <rtdevice.h>


#include <math.h>




#define ADC_DEV_NAME        "adc0"      /* ADC 設備名稱 */


#define ADC_DEV_CHANNEL     7           /* ADC 通道 */


#define REFER_VOLTAGE       330         /* 參考電壓 3.3V,數(shù)據(jù)精度乘以100保留2位小數(shù)*/


#define CONVERT_BITS        (1 << 10)   /* 轉換位數(shù)為12位 */





static int mq135(int argc, char *argv[])


{


    rt_adc_device_t adc_dev;


    rt_uint32_t value, vol, ppm;


    rt_err_t ret = RT_EOK;




    uint8_t pin = rt_pin_get("PE.1");


    rt_pin_mode(pin, PIN_MODE_OUTPUT);






    /* 查找設備 */


    adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);


    if (adc_dev == RT_NULL)


    {


        rt_kprintf("mq135 run failed! can't find %s device!\n", ADC_DEV_NAME);


        return RT_ERROR;


    }




    /* 使能設備 */


    ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);


    for(rt_uint8_t i = 0 ; i < 10 ; i++ )


    {


        /* 讀取采樣值 */


        value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);


        rt_kprintf("adc value = %d \n", value);




        /* 轉換為對應電壓值 */


        vol = value * REFER_VOLTAGE / CONVERT_BITS;


        rt_kprintf("voltage = %d.%02d \n", vol / 100, vol % 100);




        ppm = pow((3.4880*0.1*vol)/(5-vol/100),(1.0/0.3203))*100;


        rt_kprintf("ppm = %d.%02d \n", ppm / 100, ppm % 100);


        if(ppm >= 200)


        {


            rt_kprintf("status : danger!\n\n\n");


            rt_pin_write(pin, PIN_LOW);




        }


        else {


            rt_kprintf("status : safe!\n\n\n");


            rt_pin_write(pin, PIN_HIGH);


        }


        rt_thread_mdelay(3000);


    }


    /* 關閉通道 */


    ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL);


    rt_pin_write(pin, PIN_HIGH);


    rt_kprintf("exit!\n");


    return ret;


}








int main(void)


{


    rt_kprintf("all initial success!\n");


    uint8_t pin = rt_pin_get("PE.1");


    rt_pin_mode(pin, PIN_MODE_OUTPUT);


    rt_pin_write(pin, PIN_HIGH);


}




/* 導出到 msh 命令列表中 */


MSH_CMD_EXPORT(mq135, air quality monitoring);



演示效果

監(jiān)測有害氣體濃度,串口輸出,用手觸碰mq135模擬濃度超額,led點亮提示報警。

IMG_20211212_214727.jpg


gitee代碼倉庫:https://gitee.com/turboj/test1.git

附件

(4.65 MB)下載

評論區(qū)(0 )