本文主要是介绍71-基于stm32单片机厨房安全监控系统源程序、原理图、元器件清单实物制作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
功能介绍:采用stm32单片机作为主控CPU,采用MQ4传感器检测天然气浓度,采用MQ2采集烟雾浓度,采用红外接触传感器采集当前是否有人,采用ds18b20采集厨房温度,采用步进电机来模拟燃气灶的打开和关闭,采用OLED显示相关数据,通过独立按键设置天然气浓度和烟雾浓度和温度的上限值,当厨房有人状态,检测天然气和烟雾浓度异常,OLED显示提醒,如果是无人状态,指标超标后,OLED显示和蜂鸣器同时报警,并且自动关闭燃气灶,程序有中文注释,新手容易看懂,文末有资料分享链接:
下面是实物演示视频和相关实物图片
71-基于stm32单片机厨房安全监控系统(程序+原理图+元器件清单全套资料)


下面是程序部分展示(程序有中文注释,新手容易看懂)
程序部分展示://硬件初始化void Hardware_Init(void){NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级delay_init(); //延时函数初始化Usart1_Init(9600); //串口1初始化为115200// Usart2_Init(115200); //串口2,驱动ESP8266用LED_Init(); //LED初始化}// 电机模块与单片机连接引脚//IN4: PB15 d//IN3: PB14 c//IN2: PB13 b//IN1: PB12 avoid Moto_Init(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStructure.GPIO_Pin =GPIO_Pin_12 | GPIO_Pin_13 |GPIO_Pin_14 |GPIO_Pin_15 ;//引脚按着INT1顺序接就行了GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_ResetBits(GPIOB,GPIO_Pin_12 | GPIO_Pin_13 |GPIO_Pin_14 |GPIO_Pin_15 );}void MotoRcw(void) //反转{int i;for(i=0;i<4;i++){GPIO_Write(GPIOB,phasecw[i]);delay_ms(3);}}void MotoRccw(void) //正转{int i;for(i=0;i<4;i++){GPIO_Write(GPIOB,phaseccw[i]);delay_ms(3);}}void MotorStop(void) //停止{GPIO_Write(GPIOB,0x0000);}//控制电机正转还是反转某个角度//direction方向,1为正转,0为反转//angle角度,可为0-360具有实际意义void Motor_Ctrl_Direction_Angle(int direction, int angle){u16 j;if(direction == 1){for(j=0;j<64*angle/45;j++){MotoRccw();//正转}MotorStop();//停止}else{for(j=0;j<64*angle/45;j++){MotoRcw();//反转}MotorStop();//停止}}
程序打开办法:特别注意:下载资料包以后一定要先解压!!!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

原理图采用【AD】altium designer打开,文件中有安装包


下面是资料包文件展示

百度云盘资料下载链接
这篇关于71-基于stm32单片机厨房安全监控系统源程序、原理图、元器件清单实物制作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!