【单片机毕业设计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和原理图以及相关文档说明做了详细说明,有需可私

🧿创作不易,拒绝白嫖
更多推荐

所有评论(0)