OLED 显示动态数字
这篇教学会使用 MakeCode 编辑 micro:bit 扩充板程序 ( EZ Start Kit+ ),透过 OLED 显示器动态显示可变电阻、温湿度、环境光线...等动态数值。
- 操作 EZ Start Kit+ 需要加载对应的扩充积木,请先参考:加载 EZ Start Kit+ 的程序积木。
- 更多信息:ICShop EZ Start Kit+ 官方网站。
OLED 显示可变电阻数值
使用重复无限次积木,搭配 OLED 显示数字积木,就能在旋转可变电阻时,即时显示动态的数字,比较需要注意的是,每次重复时会在开头加上“清除画面”积木,才不会让过长的文字继续显示在画面中。
虽然加上清除画面积木可以刷新 OLED 画面,但也会造成 OLED 画面不断闪烁的状况 ( 因为每次重复就会清空画面 ),为了避免画面闪烁以及数字重叠的状况,可以使用“空白字元”的方式取代清除画面,由于可变电阻的数值从 0~1023,只要在数字位数不足 4 位时于后方补上空白字元,就可以同时避免文字重叠以及画面闪烁。
使用“数字转文字”积木,将可变电阻的数字转换成文字,计算出和四位数相差几位,再透过“重复次数”积木将不足位数的部分补上空白,执行后就可以动态显示可变电阻数值,还可以避免文字重叠以及画面闪烁。
如果要让程序码更有弹性 ( 例如同时可以支援多组动态显示 ),可以加入“函数”辅助,新增一个函数,并给予这个函数 num 和 length 两个变数,分别代表要转换的数值,以及该数值最大的长度。
修改原本的程序,将积木放入函数里,并回传计算后的文字,执行后就会得到相同的结果。
OLED 显示温湿度
延伸 OLED 显示可变电阻的程序 ( 使用函数 ),就可以同时显示 DHT11 所侦测到的温度和湿度,并透过字串组合的方式,在开头加上 T 或 H,在结尾加上 C 与 % 符号。
OLED 显示光感测器数值
延伸 OLED 显示可变电阻的程序 ( 使用函数 ),将可变电阻数值换成光感测器数值,就能读取环境光线的亮度。
范例解答
延伸练习
如果已经熟悉了 EZ Start Kit+ OLED 显示动态数字的原理,还可以尝试更多好玩的作法:
- 修改程序,同时显示可变电阻、光感测器以及温湿度 ( 解答 )。
微信扫码关注
抖音扫码关注