1. 文档中心
  2. 比卜创造 Micro:bit
  3. API 参考
  4. bibo 模块

bibo 模块

bibo 模块提供对板载硬件的访问入口。

函数

panic(n)

进入 panic 模式:停止执行,在屏幕上滚动显示错误码,需要重启才能继续。

bibo.panic(255)

参数

  • n:0–255 之间的整数,表示错误码。

reset()

重启主板。

running_time()

返回值:自主板开机或重启以来的毫秒数。

scale(value, from_, to)

将数值从一个范围线性映射到另一个范围。

例如将 30 ℃ 映射到华氏度:

temp_fahrenheit = scale(30, from_=(0.0, 100.0), to=(32.0, 212.0))

可将传感器读数映射到输出范围,例如把加速度计 X 值映射到音量。

若 to 中任一值为浮点数,则返回浮点数;若均为整数,则返回整数:

returns_int = scale(accelerometer.get_x(), from_=(-2000, 2000), to=(0, 255))

也支持反向映射,例如 scale(25, from_=(0, 100), to=(0, -200)) 返回 -50。

参数

  • value:待转换的数值。
  • from_:源范围元组。
  • to:目标范围元组。

返回值:映射到 to 范围后的值。

set_volume(volume)

配置 micro:bit 扬声器及外接音频输出的音量。

bibo.set_volume(127)

参数

  • volume:0–255 的整数。

sleep(n)

等待 n 毫秒。1 秒 = 1000 毫秒,因此 bibo.sleep(1000) 暂停 1 秒。

参数

  • n:等待的毫秒数,可为整数或浮点数。

run_every(callback, days=None, h=None, min=None, s=None, ms=None)

按给定时间间隔调度函数执行。

两种用法:

装饰器——放在函数上方:

@run_every(days=1, h=1, min=20, s=30, ms=50)
def my_function():
    # 在此编写逻辑
    pass

普通调用——将回调作为位置参数传入:

def my_function():
    pass

run_every(my_function, s=30)

各时间参数可叠加,例如 run_every(min=1, s=30) 表示每 1 分 30 秒执行一次。

若回调内抛出未捕获的异常,该调度会被取消。可用 try/except 避免。

参数

  • callback:要调度的函数。
  • days、h、min、s、ms:分别对应天、时、分、秒、毫秒。

temperature()

返回值:micro:bit 当前温度的整数摄氏度值。

属性

  • 按钮:button_a、button_b
  • 引脚:pin0 … pin20、pin_logo、pin_speaker 等

类

子模块

示例

在比卜创造 Python 编辑器中运行:

from bibo import *

display.scroll(str(temperature()) + "C")
sleep(1000)
display.scroll(str(running_time()) + "ms")