vany5921 发表于 2019-9-2 15:49:04

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

M5StickC有很多丰富的配件,今天要介绍的就是NCIR(非接触式红外温度传感器)型号为MLX90614,这款传感器的视场角为90度,读取温度范围相当的广泛,物体测温可以达到-70~380℃,应该说足以满足日常测量需要。接下来,我们用最简单的方式来做一款应用,先介绍一下大概功能,实时显示目标物体的温度,自动记录最大值和最小值,同时会显示一个温度曲线,展示过去25秒的温度变化情况。此外,还有一个温度记录功能,可以记录一个当前温度。
整体界面设计是这样的




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




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





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




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





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



页: [1]
查看完整版本: 当M5StickC 遇上UIFLOW系列(六)使用NCIR-HAT做个温度计