中国红客联盟 首页 资讯 国内安全 查看内容

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

2025-3-3 08:32| 发布者: Honkers| 查看: 68| 评论: 0

摘要: 目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图  五、程序设计  六、实验效果  七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频

目录

一、前言

二、项目简介

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图 

五、程序设计 

[code]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); } }[/code]

六、实验效果 

七、资料内容

项目分享


免责声明:本内容来源于网络,如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

路过

雷人

握手

鲜花

鸡蛋

发表评论

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行