找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 802|回復: 0
打印 上一主題 下一主題
收起左側(cè)

基于stm32的火焰和可燃氣體監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1120726 發(fā)表于 2024-5-15 01:00 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于stm32的火焰和可燃氣體監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
火焰?zhèn)鞲衅?br /> 可燃氣體傳感器
STM32F103C8T6

wifi模塊
oled顯示
按鍵模塊
手機app
#include "delay.h"
#include "sys.h"
#include "usart.h"                  
#include "led.h"      
#include "key.h"      
#include "math.h"      
#include "string.h"      
#include "user_peripheral.h"
#include "UserPrintf.h"
#include "stm32f10x_adc.h"               
#define Display_Debug(_x)                               do { user_printf _x; } while(0)
#define Display_Debug_Hex(_x)                           do { user_Dump_Hex _x; } while(0)                                                                                                                           
u8 yr,hy,yrb,hyb ;
unsigned short timeCount = 0;        
u8 readf,yrbb,hybb;
unsigned char *dataPtr = NULL;
u8 kqrt,hymk,kqrtY=50,hymkY=50,kkk;
u16 timef=0,timeg=0;
int main(void)
{               

        delay_init();                     
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        uart_init(9600);         
      
         user_peripheral_init();
         OLED_ShowString(0,0,"KR:   |Y:    ",16);
         OLED_ShowString(0,2,"HY:   |Y:    ",16);
         OLED_ShowString(0,4,"kr:       ",16);
         OLED_ShowString(0,6,"hy:       ",16);
        while(1)
        {

                 kqrt=100-Get_Adc_Average(ADC_Channel_0,10)/41;
                 hymk=100-Get_Adc_Average(ADC_Channel_1,10)/41;
                 OLED_ShowNum(8*3,0,kqrt,3,16);OLED_ShowNum(8*9,0,kqrtY,3,16);
                 OLED_ShowNum(8*3,2,hymk,3,16);OLED_ShowNum(8*9,2,hymkY,3,16);
                        if(++timeCount >= 30)                                                                        
                        {         
                                OneNet_SendData();                                                                        
                                timeCount = 0;
                                ESP8266_Clear();
                                 
                        }
                        
                        kkk=KEY_Scan(0);
                        if(kkk==1)
                        {
                         kqrtY++;
                                if(kqrtY>99)
                                        kqrtY=0;
                        }
                        if(kkk==2)
                        {
                        
                                if(kqrtY>0)
                                        kqrtY--;
                                else
                                kqrtY=100;      
                        }
            if(kkk==3)
                        {
                         hymkY++;
                                if(hymkY>99)
                                        hymkY=0;
                        }
                        if(kkk==4)
                        {
                        
                                if(hymkY>0)
                                        hymkY--;
                                else
                                  hymkY=100;      
                        }
               

                        if(kqrt>kqrtY)
                        {
                           yr=1;
                                OLED_ShowString(30,4,"yes",16);
                        }
                       
                        else
                        {
                                yr=0;
                                OLED_ShowString(30,4,"no ",16);
                        }
               
                       
                       
   
                        if(hymk>hymkY)
                        {
                                hy=1; OLED_ShowString(30,6,"yes",16);
                        }
                        else
                        {
                                 hy=0; OLED_ShowString(30,6,"no ",16);
                        }
                 
                        

                  delay_ms(10);
         

                        dataPtr = ESP8266_GetIPD(0);
                        if(dataPtr != NULL)
                                OneNet_RevPro(dataPtr);  
        }         
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表