【项目设计】基于STM32人脸识别系统 - 单片机 物联网 嵌入式

这篇具有很好参考价值的文章主要介绍了【项目设计】基于STM32人脸识别系统 - 单片机 物联网 嵌入式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.前言

项目设计主要是对于所学知识的整体回顾,需要结合各个学科,才能做出达到符合标准的设计。
文章的目的在分享优质的项目以及项目经验,提供设计思路,欢迎交流与指正不足之处。

二.简介

由于人脸识别技术具有无需接触、安全性高、可靠性高等优点,在身份认证领域具有广阔的应用前景。目前,市场中的门禁系统大多采取离线加传统人脸识别算法的方式,无法实时记录访客信息,并存在识别准确率低、容错率较低、只针对特定场景等缺点。该设计主要目的在于解决上述的问题,采用深度学习人脸识别算法与在线,计算的门禁系统解决方案。

三.主要器件

STM32F407ZGT6芯片主控芯片
OV2640摄像头模块
ESP8266无线通信模块
语音播报电路
自动开关门电路(舵机驱动)
IIC驱动型OLED屏幕
按键电路
电源电路

技术交流,调试帮助,技术V:anwarmaries Q:1083091092

四.系统整体方案

下位机采集人脸图像数据,经无线通信模块传输至上位机识别并返回识别结果的人脸识别门禁系统方案。下位机主要由微控制器模块、摄像头模块、无线传输模块组成,负责图像采集与传输,并根据上位机返回识别结果并做出相应的动作。
上位机则由安装Tensorflow深度学习运行环境的PC构成,负责图片接收、人脸识别和返回识别结果。
基于stm32的人脸识别,项目设计,单片机,stm32,物联网

下位机软件的设计流程图如下图所示:
基于stm32的人脸识别,项目设计,单片机,stm32,物联网

文章内容将在后续逐步完善,需要相关实物,亦或是任何技术问题。欢迎私信本人,CSDN@风雨同舟1

五. 部分核心代码

主函数部分:


```cpp

```c
int main(void)
{	
/*--------------变量声明--------------------*/
	u8 limt,left,right,chang=0,start,display,display1;
	float temp;

/*--------------配置初始化--------------------*/
	Stm32_Clock_Init(9);	//系统时钟设置
	delay_init(72);	  		//延时初始化
	USART1_Init(115200); 	//串口初始化为115200
	OLED_Init();
	SMBus_Init();
	KEY_Init();
	LED_Init();
	BEEP_Init();	
 
//  OLED_Refresh_Gram();		//更新显示到OLED 
	
	while(1)
	{
/*start=1(测温开始),start=2(人脸识别开始),start=3(口罩识别开始)*/
		switch (duli_key(1))
		{
			//case 0: start=0;break;
			case 1: {start=1;break;}
			case 2: {start=2;break;}
			case 3: {start=3;break;}
			case 4: {start=4;break;}
		}
		
//--------------测温部分------------------------------------		
		if(start==1)
		{
			if(start_stop(Key_Scan()))
			{		
				
				if(display==2)
				{
					OLED_Clear();
					OLED_ShowString(25,0,"temp test",16);
					OLED_ShowString(0,25,"temp:",16);
					OLED_ShowChar(60,25,'.',16,1);
					delay_ms(10);
					OLED_ShowString(0,40,"temp_limit:37",16);
					display=1;
				}
				
				if(temp_target(Key_Scan()))//测温:1--测量液体温度 0--测量人体温度
				{
					temp=SMBus_ReadTemp(0);
				}
				else
					temp=SMBus_ReadTemp(1);
				
		/*------------温度阈值设定------------------*/
				while(set_templimt(Key_Scan()))
				{
					LED0=1;	
					if(Key_Scan()==10)
					{
						while(Key_Scan()==10);
						chang=1;
					}
					else if(Key_Scan()==11)
					{
						while(Key_Scan()==11);
						chang=2;	
					}
					
					switch(chang)
					{
						case 0:	{left=3;right=7;break;}
						case 1:	if(Key_Scan()<5) left=Key_Scan();break;
						case 2:	if(Key_Scan()<10) right=Key_Scan();;break;
					}

					limt=left*10+right;
					OLED_ShowNum(90,40,limt,2,16);
					OLED_Refresh_Gram();		//更新显示到OLED 
				}/*结束while阈值设定*/
				
		/*---------温度范围报警--------------*/		
				warning(temp);//温度范围检测与报警
				prompt_warning(temp,limt);
				LED0=0;					//GPIOB.5
				temp_display(temp);//温度显示函数
				OLED_Refresh_Gram();		//更新显示到OLED 

			}
			else
			{
				if(display<2)
				{
					OLED_Clear();
					display=2;
				}
				LED0=1;	
				OLED_ShowString(0,0,"please key temp .....",16);
			}
		}
//----------------人脸识别-------------------//
		if(start==2)
		{
			static display1=2;
			if(display1==2)
			{
				OLED_Clear();
				display1=1;
			}
			OLED_ShowString(0,0,"Please click reset...",16);
			delay_ms(4000);
			OLED_ShowString(0,40,"Identify in the face....",16);
			delay_ms(10);
			
			if((boll_x==1)||(boll_y==2)||(boll_z==3)||(boll_b==4))
			{
				OLED_ShowString(10,0,"identification          ",16);
				delay_ms(2);
				if(boll_x==1)
				{
					OLED_ShowString(0,25,"name:xiaokangsong",16);
					OLED_Refresh_Gram();
				}
				else if(boll_y==2)
				{
					OLED_ShowString(0,25,"name:chengrujia  ",16);
					OLED_Refresh_Gram();
				}
				else if(boll_z==3)
				{
					OLED_ShowString(0,25,"name:mayumao    ",16);
					OLED_Refresh_Gram();
				}
			
				else if(boll_b==4)
				{
					
					OLED_ShowString(0,0,"error2",16);
					OLED_Refresh_Gram();
				}
			}
			else
			{
				OLED_ShowString(0,0,"Identification failure     ",16);
				display1=1;
			}
		}
		OLED_Refresh_Gram();		//更新显示到OLED
	} 
}

按键部分代码:文章来源地址https://www.toymoban.com/news/detail-812298.html

void Key_assignment(unsigned char z) //按键赋值
{
	Key_Data=0x00;   //清零
	if(z==0) 
	{
		key1_0;  key2_0;  key3_0;  key4_0;
		key5_1;  key6_1;  key7_1;  key8_1;   //使用的方法是反转法
	}
	else 
	{
		key1_1;  key2_1;  key3_1;  key4_1;
		key5_0;  key6_0;  key7_0;  key8_0;   //使用的方法是反转法 
	}
	
	delay_us(222);  //短延时一下
	
		 if(key1==1) Key_Data=Key_Data|0x80;
		 else        Key_Data=Key_Data|0x00;
	
		 if(key2==1) Key_Data=Key_Data|0x40;
		 else        Key_Data=Key_Data|0x00;
		
		 if(key3==1) Key_Data=Key_Data|0x20;
		 else        Key_Data=Key_Data|0x00;
		
		 if(key4==1) Key_Data=Key_Data|0x10;
		 else        Key_Data=Key_Data|0x00;

		 if(key5==1) Key_Data=Key_Data|0x08;
		 else        Key_Data=Key_Data|0x00;	
		
		 if(key6==1) Key_Data=Key_Data|0x04;
		 else        Key_Data=Key_Data|0x00;		
		
		 if(key7==1) Key_Data=Key_Data|0x02;
		 else        Key_Data=Key_Data|0x00;	
		
		 if(key8==1) Key_Data=Key_Data|0x01;
		 else        Key_Data=Key_Data|0x00;  //把这八个IO拼成一个数,也就是当成51里面的一组IO
	
}

到了这里,关于【项目设计】基于STM32人脸识别系统 - 单片机 物联网 嵌入式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 物联网项目分享 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最

    2024年01月17日
    浏览(69)
  • 毕业设计 stm32人脸识别门禁系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月09日
    浏览(78)
  • 毕业设计 stm32人脸识别快递柜系统(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月03日
    浏览(82)
  • 单片机毕业设计 stm32车牌识别系统

    Hi,大家好,学长今天向大家介绍一个 单片机项目 基于stm32的车牌识别系统设计 大家可用于 课程设计 或 毕业设计 在我们的日常生活中, 接触到了很多关于电子科技的技术。 在电子科技交通领域中, 有很多技术都在无形中加入我们的生活, 如图像处理技术, 自动检测技术

    2023年04月12日
    浏览(61)
  • 毕业设计|基于STM32单片机的语音识别控制智能停车场设计

    演示视频 https://www.bilibili.com/video/BV1bC4y1579d/?spm_id_from=333.999.0.0vd_source=0fb8a603c3cd84c0c72e5fa5d4201605 本系统采用stm32f103c8t6单片机+晶振电路+复位电路+电源电路+车位检测电路+OLED显示电路+继电器控制电路+语音识别电路构成。 1,通过红外对管模块实时检测车位是否占用,车位分为

    2024年02月04日
    浏览(85)
  • 物联网项目分享 stm32实现车牌识别系统 -物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月21日
    浏览(75)
  • 单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)

    单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app) 一、主要功能: 1.手机app播放内存卡的音乐、同时点阵屏随音乐进行跳动 2.0LED、手机app显示当前音量以及当前状态 3.手机app远程调节音量阈值,可以切换上一首、下一首,音乐

    2024年02月07日
    浏览(58)
  • 【单片机毕设选题】 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI

    hr style=\\\" border:solid; width:100px; height:1px;\\\" color=#000000 size=1\\\" 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最

    2024年01月21日
    浏览(66)
  • 基于单片机STM32的智能衣柜设计(可以写进毕设与简历的项目)

    从智能家居服务生活的理念出发,针对目前传统衣柜在潮湿环境下不易贮存衣物的缺点,设计一款智能语音衣柜;如下图所示为基于stm32的智能衣柜设计,这个项目中有紫外线杀菌+除湿风扇+加温+语音助手+wifi模块+人体感应模块等,属于一个综合性项目,如果想从事嵌入式开

    2024年02月08日
    浏览(51)
  • 单片机毕设 基于STM32的智能药箱系统设计与实现

    Hi,大家好,今天向大家介绍一个学长做的单片机项目 基于STM32的智能药箱系统设计与实现 大家可用于 课程设计 或 毕业设计 照顾老人, 特别是提醒老人准时吃药已经成为了一个社会关心的问题。长期记录吃药种类、 吃药时间能为分析老人的病理提供有力的依据。 基于目

    2024年02月04日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包