OLED 显示手绘图案
这篇教学会使用 MakeCode 编辑 micro:bit 扩充板程序 ( EZ Start Kit+ ),让 OLED 可以显示 Google 试算表或 Excel 所绘制的黑白位图。
- 操作 EZ Start Kit+ 需要加载对应的扩充积木,请先参考:加载 EZ Start Kit+ 的程序积木。
- 更多信息:ICShop EZ Start Kit+ 官方网站。
使用 Google 试算表绘图
打开空白的 Google 试算表,用鼠标建立一个 64x32 的储存格数组 ( 打开范本:EZ Start Kit - OLED 绘图范本 )。
为什么要使用 64x32 的尺寸呢?因为 EZ Start Kit+ 的 OLED 尺寸为 128x64,但 micro:bit 第一代的内存容量无法容纳 128x64 的文字数组,所以将长宽尺寸减半为 64x32。
用鼠标选取 64x32 的储存格,点击右键,选择“查看更多储存格动作 > 条件式格式设定”。
设定 64x32 的储存格的格式为如果内容“非空白”,将背景色改成黑色。
如此一来,当储存格有内容时,背景就会变成黑色,就能透过这种方式绘制黑白像素图片,下图的例子中,储存格的内容为 1。
Google 试算表储存为 CSV
在 Google 试算表的 64x32 范围里,绘制自己喜欢的图片。
绘制完成,将文件下载为 CSV。
下载后,使用笔记本或文字编辑器打开 CSV,就能看到之后 OLED 要显示的内容。
编辑 OLED 显示图片程序
回到 MakeCode 程序编辑器,编辑 OLED 显示图片程序:
- 启动时,建立 bitmap 变数,内容是将 CSV 的所有内容。
- 建立 y_list 变数,将 bitmap 根据换行的空白拆分成数组 ( y 轴 )。
- 使用重复循环,读取 y_list 的每个项目。
- 读取 y 项目后,建立 x_list 变数,将项目根据逗号,再度拆分成数组 ( x 轴 )。
- 再次使用重复循环读取每个 x 项目,判断如果该项目不是空值,就在 OLED 上显示。
- 因为 CSV 绘图的长宽尺寸为 OLED 的一半,所以显示像素时长宽要多加一倍。
完成后将程序烧录至 micro:bit,就会看见 OLED 显示自己绘制的图案。
范例解答
延伸练习
如果已经熟悉了 EZ Start Kit+ OLED 显示手绘图案的原理,还可以尝试更多好玩的作法:
- 使用按钮开关,按下 A 和 B 时显示不同图案 ( 解答 )。
微信扫码关注
抖音扫码关注