功能介绍:采用stm32单片机作为主控,采用MLX90614模块进行无接触式测温,采用oled显示屏显示相关数据,通过蓝牙HC-05模块将温度上传到手机APP,可以通过按键设置温度上限值,当温度异常时,蜂鸣器进行报警,完美制作出一个真实的额温枪无接触式测温装置,文末有资料分享:
19-基于stm32单片机MLX90614无接触式红外测温仪额温枪(程序+原理图+元件清单全套资料)
程序部分展示,有中文注释,新手容易看懂
{ u8 t;
delay_init(); //延时函数初始化
OLED_Init(); //初始化OLED
OLED_Clear() ;
t=' ';
OLED_ShowCHinese(0,0,0);//非
OLED_ShowCHinese(18,0,1);//接
OLED_ShowCHinese(36,0,2);//触
OLED_ShowCHinese(54,0,3);//式
OLED_ShowCHinese(72,0,4);//测
OLED_ShowCHinese(90,0,5);//温
OLED_ShowCHinese(108,0,6);//仪
OLED_ShowCHinese(108,3,7);//℃
OLED_ShowCHinese(0,3,8);//当
OLED_ShowCHinese(18,3,9);//前
OLED_ShowCHinese(36,3,10);//温
OLED_ShowCHinese(54,3,11);//度
//OLED_ShowString(72,3,yy,16);
OLED_ShowNum(72,3,hh,2,16);
OLED_ShowChar(90,3,'.',16);
OLED_ShowNum(95,3,zz,1,16);
}
int clcw(void)
{
delay_init(); //延时函数初始化
OLED_Init(); //初始化OLED
OLED_Clear() ; //清屏
OLED_ShowCHinese(0,3,12);//测
OLED_ShowCHinese(18,3,13);//量
OLED_ShowCHinese(36,3,14);//错
OLED_ShowCHinese(54,3,15);//误
OLED_ShowNum(72,3,hh,2,16);
OLED_ShowChar(90,3,'.',16);
OLED_ShowNum(95,3,zz,1,16);
}
int cwz(void)
{
delay_init(); //延时函数初始化
OLED_Init(); //初始化OLED
OLED_Clear() ; //清屏
OLED_ShowCHinese(0,3,12);//测
OLED_ShowCHinese(18,3,5);//温
OLED_ShowCHinese(36,3,18);//开
OLED_ShowCHinese(54,3,19);//始
}
int XSHJ(void)
{ u8 t;
delay_init(); //延时函数初始化
OLED_Init(); //初始化OLED
OLED_Clear() ;
t=' ';
OLED_ShowCHinese(0,0,0);//非
OLED_ShowCHinese(18,0,1);//接
OLED_ShowCHinese(36,0,2);//触
OLED_ShowCHinese(54,0,3);//式
OLED_ShowCHinese(72,0,4);//测
OLED_ShowCHinese(90,0,5);//温
OLED_ShowCHinese(108,0,6);//仪
OLED_ShowCHinese(108,3,7);//℃
OLED_ShowCHinese(0,3,16);//环
OLED_ShowCHinese(18,3,17);//境
OLED_ShowCHinese(36,3,10);//温
OLED_ShowCHinese(54,3,11);//度
//OLED_ShowString(72,3,yy,16);
OLED_ShowNum(72,3,ff,2,16);
OLED_ShowChar(90,3,'.',16);
OLED_ShowNum(95,3,tt,1,16);
}
int main(void)
{
int i,j,p,num=375;
int kk=0,k=0,yy=0,wd=0;
float Temperature = 0; //温度数据变量(浮点型)
float jg[10];//存放测得结果
char TempValue[80] = {0}; //温度值(字符串)
KEY_Init();//按键初始化
led_init();//led灯初始化
delay_init();//延时初始化
uart_init(9600);//串口初始化
SMBus_Init();//SMBus初始化(测温计)
BEEP_Init();//蜂鸣器初始化
下面是原理图文件展示: