一. 系统概述
本语音播报体温计系统包括温度采集模块、语音播放模块和显示模块。核心控制单元采用广泛应用的 STM32 单片机。温度采集部分使用 MLX90614 红外传感器来测量体温,语音播放则基于 JR6001 模块,显示模块则采用 OLED12864 液晶屏幕。
二. 仿真概述
- 系统启动后,OLED 显示屏会实时显示体温数据。语音播报功能通过 UART 串口模拟实现,按下播报按钮即可听到体温播报。
- 通过点击下方的链接进入串口助手(网页版),进行相应设置后,可以接收并确认语音播报信息,从而验证语音播报功能的效果。
- 使用 DHT11 上的红色按钮调整温度值时,显示屏上的温度数据会同步更新。点击播报按键后,串口助手端也会实时更新数据,反映体温的变化。
三.程序设计
#include <main.h>
//
u8 t,h,Heart,l;
u8 tl=10,hh=90;
u8 voice;
u8 key;
u8 rain;
char p1[]="";
//
//
void Init_Test(void);
void Test(void);
void Display(void);
//
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//2:2
Init_Test();
while(1)
{
Key_Scan(&key);
DHT11_Read_Data(&t,&h);
OLED_ShowString(1,1,"BodyTemperature");
OLED_ShowNum(2,8,t,2);
OLED_ShowString(2,11,"C");
if(Key1==0)
{
printf("BodyTemperature: ");
Usart1_TxNum(t,2);
printf(" C");
key=0;
}
if(Heart>=hh){ Beep_1;} else { Beep_0;}
}
}
void Init_Test(void)
{
/*-System Init-*/
Usart1_Init(9600);
Key_Init();
/*-HardWare Init-*/
OLED_Init(); //pb8-9
DHT11_Init(); //pa12
// PCF8591_Init(); //pb10-11
// Relay_Init();//Relay_1;Relay2_1;
// Beep_Init();//Beep_1;
}
void Display(void)
{
}
24-32f-04