在这里插入代码片
最近设计了一个项目基于stm32的物联网车内环境监测系统,与大家分享一下:

一、基本介绍

项目名:基于stm32的物联网车内环境监测系统
项目编号:mcuclub-dz-1092
单片机类型:STM32F103C8T6
1、通过SGP30检测当前环境的CO2,检测到CO2大于最大值进行声光报警,同时打开风扇;
2、通过DHT11检测当前环境的温湿度,检测到温度或者湿度大于最大值自动打开风扇;
3、通过酒精检测模块加内存当前环境的酒精,检测到酒精大于最大值,车辆停止运行
3、通过OLED显示测量数据;
4、通过按键可以设置CO2、温度、湿度、酒精最大值、车辆启停、风扇开关;
5、通过WiFi模块将检测的数据上次到手机端,设置参数,可以控制风扇和车辆启停;

二、32实物图

单片机型号:STM32F103C8T6

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C
请添加图片描述

三、原理图

软件版本:AD2013

电路连线方式:网络标号连线方式

注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
请添加图片描述

四、PCB图

由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。

两层板,上下覆铜接地。
请添加图片描述

五、系统框图

本设计以STM32F103C8T6单片机为核心控制器,结合多种检测模块构建物联网车内环境监测系统,系统包括中控部分、输入部分和输出部分。中控部分采用STM32F103C8T6单片机,其主要功能是获取输入数据并控制输出部分。输入部分由以下模块组成:第一部分是CO2检测模块;第二部分是温湿度检测模块;第三部分是酒精检测模块;第四部分是按键模块;第五部分是供电模块。输出部分由以下模块组成:第一部分是声光报警模块;第二部分是继电器模块(包含风扇控制和车辆启停控制);第三部分是OLED显示模块,用于实时显示监测数据;除此之外还有WiFi模块,用于数据传输和远程控制。系统框图如图3.1所示。
请添加图片描述

六、软件设计流程

请添加图片描述

七、部分程序展示

软件版本:keil5

逻辑程序和驱动程序分开,分布于main.c和其他.c文件

/**********************************
函数名:处理函数
传参值:无
返回值:无
**********************************/
void Manage_Function(void)
{
	if(display_num == 0)								  										//测量界面
	{
		if(temp_value > temp_max*10 || humi_value > humi_max*10 || CO2_value > CO2_max) //温度、湿度、CO2大于最大值打开风扇;
		{
			RELAY_FS = 1;
			flag_fs = 0;
		}
		else
		{
			if(flag_fs == 0)
			{
				RELAY_FS = 0;
			}
		}

		if(wine_value > wine_max)                  //酒精大于最大值,车辆停止运行
		{
			RELAY_QD = 0;
		}
		

		if(CO2_value > CO2_max)										//CO2大于最大值进行声光报警
		{
			if(time_num % 20 == 0)
			{
				ALERT = !ALERT;
			}
		}
		else
		{
			ALERT = 0;
		}
	}
	else																											//设置界面,关闭加热、制冷及声光报警
	{
		RELAY_FS = 0;
		RELAY_QD = 0;
		ALERT = 0;
	}
	
	if(flag_finish_5s == 1)																		//5秒上传一次数据
  {
    flag_begin_5s = 0;
    Aliyun_Send_Data();
    flag_begin_5s = 1;
  }
}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐