输入/输出

BBC micro:bit底边有金属条,看起来牙齿似的,这些是I/O引脚。

../_images/blue-microbit.png

其中有5个大引脚可以连接鳄鱼夹,分别标记有 0, 1, 2, 3V 和 GND(电脑通常从0开始计数)。其他小的引脚可以用来插入边缘连接器。

BBC micro:bit 上的每个引脚都由一个叫做 pinN对象 表示,其中 N 是引脚号。例如,若要用标记为0(零)的引脚进行操作,则需要使用名为 pin0 的对象。

很简单!

这些对象根据特定引脚的功能使用不同的 方法

“怕痒的” Python

通过引脚输入最简单的例子是检查引脚是否被触碰。你可以“胳肢”你的设备,让它大笑:

from microbit import *

while True:
    if pin0.is_touched():
        display.show(Image.HAPPY)
    else:
        display.show(Image.SAD)

用一只手通过引脚GND握住设备,然后用另一只手触摸(或“胳肢”)引脚0(零)。你应该看到显示屏从性情暴躁变为快乐!

这是一个非常基础的检测输入的方式。然而,当你通过引脚插入电路或其他设备时,乐趣才真正开始。

哔哔声和杂音

我们在micro:bit上能够连接的最简单的东西是压电式蜂鸣器。下面我们用它来做输出。

../_images/piezo_buzzer.jpg

当连接到电路上时,这些小型设备会发出响亮的哔哔声。在你的BBC micro:bit上连接一个,将鳄鱼夹连接到引脚0和引脚GND(如下图所示)。

../_images/pin0-gnd.png

引脚0的电线应连接到蜂鸣器的正极,引脚GND的电线连接到负极。

下面的程序将能够让蜂鸣器发出声音:

from microbit import *

pin0.write_digital(1)

这很有趣,但大约过5秒钟后,你会想让这可怕的尖叫声停止。让我们一起来改进下这个例子并使设备发声:

from microbit import *

while True:
    pin0.write_digital(1)
    sleep(20)
    pin0.write_digital(0)
    sleep(480)

你知道这些脚本是如何起作用的吗?请记住,在数字世界, 1 表示 “启动” ; 0 表示 “关闭” 。

设备进入无限循环并立即切换为引脚0,这会使蜂鸣器发出哔哔声, 当蜂鸣器响时,设备会休眠20毫秒,接着引脚0关闭,产生短促的哔哔声。 最后,该设备在重新开始循环发声之前会睡眠480毫秒。 这就意味着每秒钟你会听到两次哔哔声(每500毫秒一次)。

我们制作出了一个非常简单的节拍器!