【单片机毕业设计24-基于stm32_K210的人脸识别系统】


前言

🔥这里是小殷学长,单片机毕业设计24-基于stm32_K210的人脸识别系统
🧿创作不易,拒绝白嫖可私


一、功能介绍

------------------------------------------人脸识别系统----------------------------------------
功能:
1.OLED显示识别状态(成功或失败)
2.K210进行人脸识别并显示人脸识别画面
3.语音播报 ,识别成功或失败有对应播报提示
4.蓝牙功能,将相关数据发送到手机端
5.舵机转动模拟开关门
6.声光警报
功能可定制


🔥 实物展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、硬件部分

下面为该毕设中所用到的相关硬件说明,具体参数不做细节描述

硬件材料

在这里插入图片描述

PCB和原理图

在这里插入图片描述

在这里插入图片描述

三、软件部分

在这里插入图片描述

main.c部分代码

int main(void)
{		
  static uint8_t voice_lock = 0;

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);   //中断设定
	delay_init();                                     //延时初始化
	LED_Init();                                       //LED初始化
	Buzzer_Init();                                    //蜂鸣器初始化
	Exit_Init();                                      //按键外部中断初始化
	Init_Usart();                                     //串口初始化
	Servo_Init();                                    //舵机初始化
	OLED_Init();                                      //OLED初始化;                              
	OLED_Clear(0);	          //清屏
	Buzzer_Voice();          //开机蜂鸣器提示
	printf("======HardWare Init Finished======\r\n");
	printf("系统上电就绪,等待K210人脸指令\r\n");
	Servo_SetAngle(45);
	while(1)
	{	
	
		Interface_Init();
		 if(buf_idx > 0)
        {
            // 1. 通过蓝牙串口USART1把收到的指令发给手机
            printf("收到人脸指令:");
            printf("%s\r\n",(char*)usart2_buf);
            
            // 2. 判断指令控制LED
            if(strcmp((char*)usart2_buf, "A1") == 0)
            {
							 lock_flag = 1;
               printf("识别成功\r\n");
            }
            else if(strcmp((char*)usart2_buf, "A2") == 0)
            {
							  if(lock_cnt2++ >= 5)
								{
									lock_cnt2 = 0;
									if(voice_lock == 0)
									{
										voice_lock = 1;
										Uart2_SendCmd(2);
									  printf("识别失败\r\n");
									}
								}
								else
								{
									voice_lock = 0;
								}
            }  
            // 清空缓存准备下一次接收
            buf_idx = 0;
            memset(usart2_buf, 0, sizeof(usart2_buf));
        }
				
				if(lock_flag)
				{
					lock_cnt++;
					if(lock_cnt >= 5)
					{
						lock_cnt = 0;
						identify_ok = 1;
						led_flag = 1;
						if(voice_lock == 0)
						{
							voice_lock = 1;
							Uart2_SendCmd(1);
						}
					}
					else
					{
						identify_ok = 0;
					}
				}
				else
				{
					identify_ok = 0;
				}
				
			if(led_flag)
			{
				LED1_ON();
			}
			else
			{
				LED1_OFF();
			}
			
		delay_ms(50);
	}
}

总结

上面为基于stm32_k210的人脸识别系统相关的大致介绍,源码,pcb和原理图以及相关文档说明做了详细说明,有需可私

在这里插入图片描述

🧿创作不易,拒绝白嫖

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐