一.系统概述

1. 核心控制器:使用STM32作为系统的核心控制单元,负责数据处理和控制逻辑。  
2. 表情识别模块:结合K210表情识别模块进行人脸表情的实时捕捉与识别。  
3. 显示界面:利用OLED12864显示屏提供用户界面,显示情绪识别状态及识别结果。  
4. 情绪识别流程:用户按下识别按键后,系统进入情绪识别模式,实时显示“情绪识别”的提示。  
5. 神经网络分析:核心处理单元应用预先训练好的神经网络模型分析面部图像,识别表情类型(如开心、难过、生气等)。  
6. 实时反馈:识别结果通过OLED屏幕实时展示情绪类别及其特点,确保用户即时了解情绪状态。 
7. 数据上传功能:通过ESP8266无线通信模块将情绪识别数据实时上传至APP端。  
8. 用户APP功能:用户在APP端注册和登录后,可查看详细的识别结果和情绪分析信息。  
9. 管理员管理界面:管理员可通过APP登录,查看和管理用户的识别数据与日志信息。  
10. 多领域应用:系统可用于心理健康、人机交互和安全监控等领域,促进情绪管理和社会交往。 
11. 数据安全保障:系统设计考虑用户数据的管理与安全,确保用户隐私保护。  
12. 便捷高效平台:提供简便高效的情绪识别服务,满足不同用户的需求。  

二.电路设计

 电路图采用Altium Designer进行设计:
1.通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心;
2.通过K210高精度摄像头模块实现的人脸识别,模块与单片机之间通过UART串口进行连接;
3.通过0.96寸的OLED12864进行数据显示,采用IIC总线的形式与单片机进行通信;
4.通过ESP8266-01S将检测到数据上传到上位机,通过UART串口与单片机进行通信;
5.使用独立按键进行系统控制,按键的一端接地,一端接单片机的GPIO口。

三.程序设计

#include "sys.h"
#include "delay.h"
#include "adc.h"
#include "math.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Beep_Led_Relay.h"
#include "Control_Report_To_Police.h"


int main(void)
 {	

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
	delay_init();	    	 //延时函数初始化	
	 
	Beep_init();
	Beep=0;//蜂鸣器初始化   系统上电后先让蜂鸣器停止叫

	TIM4_Init(300,7200);
	OLED_Init();            //OLED初始化
	OLED_CLS();             //OLED清屏
	OLED_ShowCN(20,2,0);
	OLED_ShowCN(44,2,1);
	OLED_ShowCN(68,2,2);
	OLED_ShowCN(92,2,3);
	Usart1_Init(115200);    //PA9  PA10

	ALi_ESP8266_GPIO_Init();
	MQTT_Buff_Init();
	AliIoT_Parameter_Init();

	while(1)
	{
      OLED_Display_Cotrol(); //显示控制函数
	}	 
} 


 四.实物展示

 

  五.资料内容

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐