OLED 显示手绘图案
这篇文章会使用 micro:bit 链接 OLED1306 显示器,搭配变数、数组、循环...等程序积木,让 OLED 可以显示 Google 试算表或 Excel 所绘制的黑白位图。
使用 Google 试算表绘图
打开空白的 Google 试算表,用鼠标建立一个 64x32 的储存格数组 ( 打开范本:OLED 绘图范本 )。
为什么要使用 64x32 的尺寸呢?因为 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 显示自己绘制的图案。
范例解答
- 范例解答:OLED 显示手绘图案
微信扫码关注
抖音扫码关注