显示屏
bibo.display 模块控制板载 5×5 LED 点阵,可显示图像、动画与文字。
函数
get_pixel(x, y)
返回值:第 x 列、第 y 行 LED 亮度,0(灭)到 9(最亮)的整数。
set_pixel(x, y, value)
将第 x 列、第 y 行 LED 亮度设为 value(0–9)。
clear()
将所有 LED 亮度设为 0(熄灭)。
show(image)
显示 image(Image 实例、字符串、数字或可迭代序列,见下方重载)。
show(image, delay=400, *, wait=True, loop=False, clear=False)
若 image 为字符串、浮点数或整数,则依次显示各字符;若为图像可迭代对象,则依次显示各帧。每帧/字符间隔 delay 毫秒。
参数
delay:帧间延迟(毫秒)。wait:True时阻塞直到动画结束;False时在后台播放。loop:True时循环播放。clear:True时播放结束后清空屏幕。
wait、loop、clear 须以关键字参数传入。
scroll(text, delay=150, *, wait=True, loop=False, monospace=False)
水平滚动显示 text。若 text 为整数或浮点数,会先 str() 转换。delay 控制滚动速度。
参数
delay:滚动延迟(毫秒)。wait:是否阻塞直到结束。loop:是否循环。monospace:True时每个字符占 5 列宽;False时字符间留 1 列空白。
wait、loop、monospace 须以关键字参数传入。
on()
打开显示屏。
off()
关闭显示屏(可释放与点阵相关的 GPIO 作他用)。
is_on()
返回值:显示屏开启时为 True,否则为 False。
read_light_level()
利用 LED 反向偏置模式检测照度。
返回值:0–255 的整数,数值越大表示越亮。
示例
后台循环滚动文字:
import bibo
bibo.display.scroll('Hello!', wait=False, loop=True)
在比卜创造 Python 编辑器中烧录即可看到滚动效果。配合 图像 可制作简单动画:
from bibo import *
while True:
display.show(Image.HEART)
sleep(200)
display.show(Image.HEART_SMALL)
sleep(200)