⭐项目概述
该系统以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