一.系统概述

语音播报体温计系统包括温度采集模块,语音播放模块,显示模块,其中核心 CPU采用单片机 STM32,STM32在电子行业运用广泛。温度采集模块使用 MLX90614红外传感器采集体温数据,语音播放模块采用以JR6001为核心的模块,显示模块使用OLED12864液晶模块。

二.仿真概述

1. 系统运行后就会在OLED显示屏上显示体温,语音播报模块是通过一个UART串口模拟的,按下播报按键就会实现温度的播报。 

2.  点击下方链接进入串口助手(网页版),设置号好后就能接受语音播报信息,以此来体现语音播报的结果。波特律动 串口助手icon-default.png?t=N7T8https://serial.keysking.com

3. 通过调节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)
{

}

Logo

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

更多推荐