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 当前温度的整数摄氏度值。
属性
类
子模块
- accelerometer — 加速度计
- audio — 音频播放
- compass — 指南针
- display — LED 显示屏
- i2c — I²C 总线
- microphone — 麦克风
- speaker — 扬声器
- spi — SPI
- uart — 串口
示例
在比卜创造 Python 编辑器中运行:
from bibo import *
display.scroll(str(temperature()) + "C")
sleep(1000)
display.scroll(str(running_time()) + "ms")