基于STM32单片机的语音播报体温计设计

描述

一.系统概

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

体温计

二.仿真概述

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

体温计

2.  点击下方链接进入串口助手(网页版),设置号好后就能接受语音播报信息,以此来体现语音播报的结果。

 

https://serial.keysking.com

 

体温计

3. 通过调节DHT11的红色按钮来调节温度值,显示屏上温度跟随改变,点击播报按键后在串口助手端也会更新数据。

体温计

体温计

三.程序设计

 

#include 
//
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)
{
 
}
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分