一. 系统概述
该语音播报体温计系统由三个主要模块构成:温度采集模块、语音播放模块和显示模块。核心处理器采用了广泛应用于电子行业的单片机 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