输入/输出引脚
micro:bit 底边有一排金属触点,看起来像一排「小牙齿」——这就是输入/输出引脚(简称 I/O 引脚)。

其中一些引脚更大,方便夹鳄鱼夹。标为 0、1、2、3V 和 GND 的就是这些(计算机计数从 0 开始)。若接上 edge connector 扩展板,还可以用导线连接其他较小的引脚。
micro:bit 正面的 micro:bit 标志也可以作为触摸输入,在代码里使用 pin_logo 对象。
在 BiBoPython 中,micro:bit 的每个引脚都用名为 pinN 的对象表示,N 是引脚编号。例如使用标为 0 的引脚,就在程序里写 pin0;标志触摸用 pin_logo。
这些对象有不同的方法,取决于引脚能力,例如读取、写入或检测触摸。
怕痒的 Python
引脚输入最简单的例子是检测是否被触摸。micro:bit 的引脚默认支持电容触摸——用手指轻触即可,不必另一只手去握 GND:
from bibo import *
pin0.set_touch_mode(pin0.CAPACITIVE)
while True:
if pin0.is_touched():
display.show(Image.HAPPY)
else:
display.show(Image.SAD)
用手指触摸 0 号引脚,显示屏会从「难过」变成「开心」!
标志引脚 pin_logo 同样支持电容触摸,可直接用于类似程序。
把电路和其他设备接到引脚上,玩法会丰富得多。
哔哔与啵啵
接到 micro:bit 上最简单的外设之一是压电蜂鸣器。蜂鸣器分两种:有源蜂鸣器内部带振荡器,通电即发出固定音高的声音;无源蜂鸣器需要变化的电流才能按频率发声,音高可调。有源蜂鸣器用法简单但只有一种音;无源稍复杂,但能演奏不同音高。

下面用有源压电蜂鸣器做输出。用鳄鱼夹把 pin 0 和 GND 接到蜂鸣器上(如下图)。

pin 0 的线接蜂鸣器正极,GND 接负极。
下面程序会让蜂鸣器响起来:
from bibo import *
pin0.write_digital(1)
大约五秒后你可能就想让它停下来。改进一下,做成「哔哔」声:
from bibo import *
while True:
pin0.write_digital(1)
sleep(20)
pin0.write_digital(0)
sleep(480)
能看出原理吗?在数字世界里,1 表示「开」,0 表示「关」。
程序进入无限循环,先把 pin 0 设为高电平,蜂鸣器响;sleep(20) 暂停 20 毫秒后把 pin 0 关掉,形成短促的「哔」;再 sleep(480) 等待 480 毫秒后重复。大约每 500 毫秒响一次,每秒两声——一个简易节拍器就诞生了!