怀若谷 发表于 2024-11-25 10:17:06

行空板K10 | 大屏真香之温湿度计

本帖最后由 怀若谷 于 2024-12-5 14:44 编辑


【本系列目录】
1.行空板K10 | 大屏真香之模拟时钟
2.行空板K10 | 大屏真香之温湿度计
3.行空板K10 | 大屏真香之电子鱼缸





行空板K10板载温湿度传感器,要获取环境温度和湿度无需外接传感器,非常方便。我想,用行空板K10进行硬件编程教学,制作一个温湿度计应该会是一个基础案例。
通常,我们会做出上图这种简单的数字温湿度计。但是对于这块2.8寸的大屏来说,有种没有物尽其用的感觉。我之前用Mind+的实时模式结合掌空板和一些传感器做过很多科学实验的项目,为了让数据可视化,一般都会借助“画笔”工具来完成;后来Mind+有了可视化面板,让制作这类项目变得更加方便,呈现效果也更加惊艳。不过这些效果都是在电脑的屏幕上呈现的,现在行空板K10也有一块大屏,能不能也做出可视化面板的效果呢。为此,我做了一些尝试,成功制作出了一个能以条形、扇形动态显示温度及湿度的温湿度计,现在分享给大家。
演示视频
https://www.bilibili.com/video/BV1iPBmYFEJ9/?vd_source=a4f536040db8a6e7c6050fc475e0b8a4





制作步骤:

【硬件准备】行空板K10 × 1   USB线 × 1
【软件准备】
1.下载、打开软件Mind+ V1.8.1 RC1.0(公测版) ——上传模式
2.加载扩展模块。主控板——行空板K10
【编写程序】
一、主程序部分1. 居中显示名称“温湿度计”。2. 建立2个数字类型变量——“t”和“ h”,赋值为获取的当前温度和湿度数据。3. 建立2个函数——“显示温度”、“显示湿度”,含有两个数值型参数,是一组坐标,用来控制显示位置。放入主程序中,具体功能待后面进行定义。4. 将缓存内容显示/显示更新。5. 加入一定的等待时长(根据实际需求设置)。 运行结果
二、“显示温度”函数(一)绘制圆角矩形1. 设置线宽。2. 以点(x,y)为圆心画一个半径为30的上圆。3. 画一个与上圆同宽的矩形,长为160,上边的中点与上圆的圆心重合。4. 以矩形的下边中点为圆心画一个半径为30的下圆。
运行结果

(二)绘制刻度线1. 以中间的矩形为基准,从上往下每隔4个像素画一条长为12的线段,共计40条,作为短刻度线。2. 以中间的矩形为基准,从上往下每隔20个像素画一条长为20的线段,共计9条,作为长刻度线。运行结果


(三)绘制圆形“玻璃泡”在最下面的长刻度线下方绘制一个半径为10的圆,模拟“玻璃泡”效果。

运行结果
(四)绘制条形“液柱”1. 设置线宽为8。2. 将温度值通过映射转换为“液柱”最高点Y坐标值。3. 以最下面的长刻度线(0刻度线)往上画出“液柱”。
运行结果
(五)显示温度值将温度值显示在最上面的长刻度线上方位置。
运行结果
“显示温度”程序

三、“显示湿度”函数(一)绘制圆形1. 设置线宽为4。2. 以点(x,y)为圆心画一个半径为72的大圆。运行结果(二)绘制刻度线1. 以圆心为起点,从0°开始,每隔18°画1条半径到圆上,共20条半径。2. 以点(x,y)为圆心画一个半径为60的中圆,遮盖半径的大部分,剩余部分形成了刻度线。运行结果
(三)绘制动态扇形1. 设置线宽为6。2. 以圆心为起点,从0°开始,每隔3.6°画1条半径到圆上,总数量同湿度的整数值。运行结果
(四)显示湿度值将温度值居中显示在圆的中心位置。
运行结果“显示湿度”程序




【完整程序】

rzyzzxw 发表于 2024-11-25 19:36:40

超赞

xyuan 发表于 2024-11-25 21:12:24

将作者最近两个行空板k10的作品结合了

怀若谷 发表于 2024-11-26 08:46:08

xyuan 发表于 2024-11-25 21:12
将作者最近两个行空板k10的作品结合了

挺好的,我下载运行了一下{:6_205:}
页: [1]
查看完整版本: 行空板K10 | 大屏真香之温湿度计