当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计

2019-09-026133
AI 快速预览详细 收起
本文介绍了如何使用M5StickC和NCIR-HAT(MLX90614)制作一个非接触式红外温度计。该项目能够实时显示目标物体的温度,自动记录最大值和最小值,并绘制过去25秒的温度曲线。此外,还有一个温度记录功能,可以记录当前温度。整个界面设计简洁明了,包括显示当前温度、最高温度、最低温度和记录温度的文本框,以及中间空白区域绘制的温度图像。程序中使用了多个变量来实现这些功能,如Record记录温度,TempMin和TempMax分别表示最低和最高温度,DisplayMin和DisplayMax用于绘图区展示的最低和最高温度,T_line为时间点横坐标,Y_BASE为图像坐标轴,Current为当前温度。每300毫秒绘制一次直线,展示温度变化情况。
  M5StickC有很多丰富的配件,今天要介绍的就是NCIR(非接触式红外温度传感器)型号为MLX90614,这款传感器的视场角为90度,读取温度范围相当的广泛,物体测温可以达到-70~380℃,应该说足以满足日常测量需要。接下来,我们用最简单的方式来做一款应用,先介绍一下大概功能,实时显示目标物体的温度,自动记录最大值和最小值,同时会显示一个温度曲线,展示过去25秒的温度变化情况。此外,还有一个温度记录功能,可以记录一个当前温度。
整体界面设计是这样的


当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计图1

1.TEXT显示当前温度
2.TEXT显示最高温度
3.TEXT显示最低温度
4.TEXT显示记录温度
中间空白区域绘制温度图像,最上方为标题,左侧添加一个小图标
程序中用到的变量较多,Record记录温度,TempMin,TempMax为最低和最高温度,DisplayMin与DisplayMax为绘图区展示的最低和最高温度,T_line为时间点横坐标,Y_BASE为图像坐标轴,Current为当前温度。


当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计图2

将坐标轴绘出,并将绘图区填充。



当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计图3

初始化完成接下来就是Loop内容,获取当前温度,并进行比较,更新最高值与最低值,如果A按键按下那么记录当前温度。


当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计图4

接下来需要进行绘图,每隔300毫秒绘制一次直线,用最低点坐标-温度就是当前Y坐标,依据坐标绘制直线



当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计图5

如果图像超出屏幕那么需要将绘图区重新填充再次绘制
逻辑很简单,使用UIFlow就是很Easy


当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计图6

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -