• 基于stm32单片机矿井瓦斯天然气温湿度检测报警系统


    资料编号:171   下面是功能视频演示:

    171-基于Stm32单片机矿井瓦斯天然气温湿度环境监测报警系统

    功能讲解:

    采用stm32单片机作为控制CPU,采用MQ4天然气气体采集传感器,DHT11温湿度传感器,蜂鸣器,0.96寸OLED显示屏,继电器驱动风扇,采用USB5V供电,使用电脑和充电宝USB口都可以,MQ4采集当前的天然气浓度,当浓度值大于设置的上限阈值(阈值可以在程序中更改),蜂鸣器进行报警,继电器导通驱动风扇进行通风降低浓度,当浓度低于设置的阈值,蜂鸣器停止报警,风扇停止转动,OLED显示屏上显示天然气浓度值和温湿度采集值,该系统适用于地下矿井开采环境报警系统,全套资料齐全:

    下面是实物图展示:

    下面是相关程序源码展示:

    //硬件初始化
    void Hardware_Init(void)
    {
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
        
        delay_init();            //延时函数初始化
        
        Usart1_Init(115200);    //串口1初始化为115200
    //    Usart2_Init(115200);     //串口2,驱动ESP8266用
        LED_Init();                //LED初始化
    }


    int main(void)
    {
        unsigned char *dataPtr = NULL;
        unsigned short timeCount = 30;    //发送间隔变量
    uint8_t status;
    long int cardnum=0;
    u16 adcx;
        int temp;
        Hardware_Init();                //初始化外围硬件
                OLED_Init();
            OLED_ColorTurn(0);
            OLED_DisplayTurn(0);    
        OLED_ShowString(0,0," MQ4:",16);     OLED_ShowString(90,0,"PPM",16);
        OLED_ShowString(0,32,"TEMP:",16);   OLED_ShowString(70,32,"C",16); OLED_ShowString(120,32,"%",16);
          
                OLED_Refresh();
        KEY_Init();
            Adc_Init();    LED_Init();
        LED=1;fs=1;
    Q1=1;
        while(1)
        {    


            DHT11_Read_TempAndHumidity ( & DHT11_Data );
            OLED_ShowNum(40,32,DHT11_Data .temp_int,2,16);
             OLED_ShowString(56,32,".",16);
            OLED_ShowNum(60,32,DHT11_Data .temp_deci,1,16);
            OLED_ShowNum(100,32,DHT11_Data .humi_int,2,16);
            adcx=Get_Adc_Average(ADC_Channel_1,10);
            temp=(float)adcx/4096*330-100;
            if(temp<0) temp=0;
            OLED_ShowNum(40,0,temp,3,16);
            OLED_Refresh();
        if(temp>100||DHT11_Data .temp_int>36) 
        {
            LED=0;
            Q1=0;
        }
        else 
        {
            LED=1;
            Q1=1;
        }
            
            
        }
    }

    下面是原理图展示: 

    下面是PCB展示:

    下面是该资料的分享下载链接:

    https://pan.baidu.com/s/1rGMOTqoruXYkoria-wolHg?pwd=fbca 

  • 相关阅读:
    负载均衡反向代理下的webshell上传
    一、根据系统架构定位系统性能瓶颈
    常见codeView的记录
    MATLAB中的符号计算是什么?如何使用它?
    CSAPP的Lab学习——CacheLab
    Linux:crond任务调度之crontab
    HCIP第十一天笔记
    Python爬虫
    一元二次函数教案
    Java.lang.Class类 isInstance()方法有什么功能呢?
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127708319