基于STM32火灾报警 家庭安防系统 手机显示数据 环境监测

⭐项目概述

        该系统以STM32F103C8T6单片机为核心控制单元,结合MQ-9和MQ-2传感器进行可燃气体和烟雾浓度的检测,同时利用热敏电阻传感器监测环境温度,并且实时可以通过无线模块将数据传输到手机上面。系统设计了OLED显示模块以实时显示监测数据,并采用声光报警方式对异常情况进行警示。在硬件的设计上面,细致的概括了本次单片机最小系统、传感器模块、OLED显示模块及声光报警模块的电路设计与实现原理,通过这些方案来保证系统的安全性能和稳定运行。在软件设计领域,本次研究开发了效率更高、安全、可靠的警报与监测算法,通过对处理传感器数据的精确,有效及时的发现了并预警了燃气泄漏的风险。

⭐实物图

⭐主要功能

    1.监测环境的烟雾浓度、可燃气浓度、温度
    2.当烟雾浓度超出设定阈值时,水泵启动
    3.当空气质量超出阈值时,风扇启动
    4.烟雾浓度、可燃气浓度、温度超过阈值时进行声光报警
    5.数据进行上位机和oled显示

⭐系统框图:

⭐系统原理图

⭐系统PCB板

⭐部分代码

    delay_init();	    	 //延时函数初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
	LED_BEEP_Init();
	KEY_Init();
	Relay_Init();
	TIM2_Int_Init(72-1,1000-1);//定时1ms   72,000,000Hz/1,000Hz=72,000=72*1000
	uart_init(115200);	 	//串口1初始化为115200
	uart2_init(9600);
	OLED_Init();
	OLED_ColorTurn(0);//0正常显示,1 反色显示
	OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
	Adc_Init();
	BMP_IIC_Init();
	BMP280_Init();
        OLED_ShowNum(40,0,temperature,2,16,1);
		OLED_ShowNum(72,16,smoke,2,16,1);
		OLED_ShowNum(88,32,air_quality,2,16,1);
		OLED_Refresh();
		if(temperature>32|air_quality>50|smoke>60)
		{
			GPIO_SetBits(GPIOA,GPIO_Pin_8);
			GPIO_ResetBits(GPIOA,GPIO_Pin_12);
		}
		else
		{
			GPIO_SetBits(GPIOA,GPIO_Pin_12);
			GPIO_ResetBits(GPIOA,GPIO_Pin_8);
		}
		
		if(air_quality>50)
		{
			GPIO_SetBits(GPIOB,GPIO_Pin_9);
		}
		else
		{
			GPIO_ResetBits(GPIOB,GPIO_Pin_9);
		}
		if(smoke>60)
		{
			GPIO_SetBits(GPIOC,GPIO_Pin_15);
		}
		else
		{
			GPIO_ResetBits(GPIOC,GPIO_Pin_15);
		}
		delay_ms(50);

⭐资料获取

我用夸克网盘分享了「燃气报警系统.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/da9f8a45d89a
提取码:WhkR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值