这是一份迟来的文章,代码写好几天了,由于太忙,一直没来得及上传。

在开发板套件中,有一个OLED屏幕扩展板,温湿度传感器扩展板,本次我们就用这两个扩展板来实现一个简易数字温度计。初步的打算是做一个仪表盘,用指针指示温度和湿度,但是由于OLED只有128*64,因此仪表盘不会很清晰,我们在旁边再用数字直接显示一下。虽然简陋一点,但是只要原理学会了,其他复杂的仪表盘我们同样可以做出来。

WiFi IoT智能家居套件 - 温度传感器和OLED实现简易数字温度计_温度传感器

OLED屏幕为128*64的点阵,通信接口为I2C0,从机地址为0x3C

温湿度传感器AHT20,通信接口也是I2C0,从机地址为0x38

熟悉I2C的朋友都知道,I2C是多从机模式,只要从机地址不同,我们可以挂在同一个总线下,进行复用。

既然如此,那我们就可以同时使用这两个扩展板。


1. OLED驱动

OLED驱动开发方法,参考许思维老师的代码 ​​https://gitee.com/hihopeorg/harmonyos-ssd1306​


此处不再赘述


2. 温湿度传感器AHT20驱动


参考许思维老师的代码 ​​https://gitee.com/hihopeorg/harmonyos-aht20​

此处不再赘述。


3. 画表盘


由于表盘是半个圆,而且一般是从9点钟方向开始,顺指针旋转,与实际的温度值相对应,9点钟对应最小值,3点钟对应最大值,

因此我们画表盘的时候最好从9点钟对应的角度为0, 12点钟对应的角度90度,3点钟对应的角度为180度。

画表盘就是设置好圆心(x,y)和半径r,然后计算圆周上的两个点,将相邻的两个点调用画直线函数连接起来。


文章后续内容和附件可以点击下面的原文链接前往学习

原文链接:​​https://harmonyos.51cto.com/posts/2090#bkwz​

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://harmonyos.51cto.com/#bkwz​