STM32项目分享:智能厨房安全检测系统

目录

一、前言

二、项目简介

1.功能详解

2.主要器件

三、原理图设计

四、PCB硬件设计

PCB图

五、程序设计

六、实验效果

七、资料内容

项目分享


一、前言

项目成品图片:

哔哩哔哩视频链接:

STM32智能厨房安全检测系统

(资料分享见文末)

二、项目简介

1.功能详解

STM32智能厨房安全检测系统

功能如下:

  1. 单片机STM32F103C8T6核心板
  2. OLED显示当前烟雾浓度,当前环境温湿度
  3. 火焰传感器检测当前厨房是否发生火灾
  4. 按键可用于调节报警阈值
  5. 火灾、燃气泄漏、温度过高触发蜂鸣器报警
  6. 报警下触发执行动作:浇水灭火、打开窗、排风等
  7. 手机APP检测环境信息以及报警显示
  8. 手机APP可远程设置阈值大小

2.主要器件

  • STM32F103C8T6最小系统板
  • DS18B20温度传感器
  • OLED 屏幕
  • 火焰传感器
  • MQ-7一氧化碳传感器
  • ESP8266-01S模块(WIFI)
  • 继电器
  • 风扇模块
  • 水泵模块
  • 舵机

三、原理图设计

​

四、PCB硬件设计

PCB图

​​

五、程序设计

cpp 复制代码
int main(void)
{
		delay_init();	           //延时函数初始化	 
    NVIC_Configuration();	   //中断优先级配置
	  I2C_Configuration();     //IIC初始化
		KEY_GPIO_Init();        //按键引脚初始化
	  delay_ms(200); 
	  OLED_Init();             //OLED液晶初始化
	  OLED_CLS();              //清屏
	  OLED_ShowStr(0, 2, "   loading...   ", 2,0);//显示加载中
    ESP8266_Init();       //ESP8266初始化
	  Adc_Init();           //adc初始化
	  MOTOR_GPIO_Init();     //舵机初始化
	  DS18B20_GPIO_Init();    //温度初始化
	  DS18B20_Init();         //初始化显示
		delay_ms(1000);
		delay_ms(1000);
	  OLED_CLS();              //清屏
	  displayInitInterface(); //显示初始界面
	  TIM3_Init(99,71);   //定时器初始化,定时100us
		
		Get_Temperature();   //获取温度
		delay_ms(100);
		Get_Temperature();   //获取温度
		delay_ms(1000);
		//Tout = ((arr+1)*(psc+1))/Tclk ; 
		//Tclk:定时器输入频率(单位MHZ)
		//Tout:定时器溢出时间(单位us)
		while(1)
		{ 
			   keyscan();  //按键扫描
			   if(setn == 0)
				 {
					   if(shuaxin == 1)   //大概300ms刷新一次数据
						 {
								 Get_Temperature();   //获取温度
								 Get_Smoke();         //获取烟雾
							  
							   shuaxin = 0;
						 }
						 if(FLAME == 0)          //检测到火焰
						 {
								delay_ms(10);
								if(FLAME == 0)
								{
										if(flameFlag == 0)
										{
												OLED_DrawBMP(88,4,120,8,(unsigned char *)BMP);  //显示火焰图片
										}
										flameFlag = 1;
										RELAY = 1;  //检测到有火,开启水泵
								}
						 }
						 else
						 {
								if(flameFlag == 1)
								{
										OLED_ShowStr(88, 4, "    ", 2,0);
										OLED_ShowStr(88, 6, "    ", 2,0);
								}
								flameFlag = 0;
								RELAY = 0;  //关闭水泵
						 }
						 if(temperature>=setTempValue || smoke>=setSmokeValue || flameFlag)BEEP=1;else BEEP=0;  //检测到温度烟雾超标火焰蜂鸣器报警
						 if(temperature>=setTempValue || smoke>=setSmokeValue)FAN=1;else FAN=0;      //烟雾温度超标都开启风扇
						 if(smoke>=setSmokeValue || flameFlag)PWM=15;else PWM=5;                    //烟雾超标或者是检测到火焰,舵机动作,模拟关闭阀门
			   }
				 UsartSendReceiveData();
			   delay_ms(10);
		}
}

六、实验效果

​

七、资料内容

​

项目分享

相关推荐
Jason_zhao_MR3 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
BSD_CGQ3 小时前
FSR传感器STM32 DMA高速采样工程实现(高精度、低CPU占用)
stm32·单片机·嵌入式硬件·压力传感器·源头工厂·柔性薄膜压力传感器·可变电阻压力传感器
芯岭技术郦6 小时前
32 位 ARM® Cortex®-M0+ 内核MCU普冉MS32C001-C
单片机·嵌入式硬件
骑着毛驴数星星6 小时前
STM32 CAN波特率与采样点计算,基于HAL库
stm32·单片机·嵌入式硬件
zhangrelay7 小时前
Arduino-MEGA-ESP单片机理论课笔记02-硬件-2026
笔记·单片机·嵌入式硬件
艾芯微科技8 小时前
钰泰 ETA5055V330DD1E|SOT-223 3.3V LDO,低压差、大电流线性稳压选型分享
网络·单片机·嵌入式硬件·集成测试·51单片机
新晨单片机设计9 小时前
S023A-基于STM32单片机智能插座【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·单片机智能插座
威嵌神州9 小时前
恩智浦 T1022 性能怎么样?QorIQ 架构中端工业嵌入式优势解析
嵌入式硬件
weixin_690654749 小时前
龙迅#LT9611EX 现MIPI转HDMI1.4功能主推型号,分辨率高达4K30HZ,IC内置I2C无需外部12C控制。
嵌入式硬件·音视频·信号处理
EatFans9 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网