入出力端子
BBC micro:bit の下端に沿って金属の端子があります。歯が並んでいるかのように見えるアレです。これは入出力端子というものです(略称 I/O 端子)。

端子のいくつかは他の端子よりも大きいので、ワニ口クリップを取り付けられます。大きい端子には 0, 1, 2, 3V, GND のラベルが付いています(コンピュータは常にゼロから数え始めます)。デバイスにエッジコネクタボードを取り付けると、他の(より小さい)端子にワイヤを結線できるようになります。
MicroPython では、BBC micro:bit の各端子を pinN
という オブジェクト で表します。ここで N
は端子番号です。
たとえば、0 (ゼロ)のラベルの付いた端子で何かを行うには、スクリプトで pin0
というオブジェクトを使います。
これらのオブジェクトには様々な メソッド があり、端子に固有の機能に応じたものが用意されています。たとえば read, write, touch などです。
くすぐったがりな Python (Ticklish Python)
端子を介した入力の最も単純な例は、それに触れているかどうかをチェックすることです。micro:bit をくすぐって笑わせてみましょう:
from microbit import *
while True:
if pin0.is_touched():
display.show(Image.HAPPY)
else:
display.show(Image.SAD)
片手で micro:bit の GND 端子を持ちます。次に、もう一方の手で 0 (ゼロ)の端子を触れてください。ディスプレイが心配顔から笑い顔に変わるのを見てください!
これは非常に基本的な入力測定の一つです。しかし、端子を使って回路や他のデバイスを接続すると、もっと楽しいことが始まります。
ブーピー音
micro:bit に取り付けられる最も簡単なものは圧電ブザーです。圧電ブザーには2種類あります。最もシンプルなのはアクティブブザーと呼ばれるものです。アクティブブザーには発振器が内蔵されていて、電流を流すと決められた音程で音が鳴ります。パッシブブザーには発振する周波数で音を出すために、発振電流を流す必要があります。つまり、アクティブブザーは使い方が簡単ですが1つの音しか出ず、パッシブブブザーは使い方が少し複雑ですが、さまざまな音を出せます。

ここでは、出力にアクティブピエゾブザーを使います。BBC micro:bit に取り付けるには、下図のようにワニ口クリップを使って端子 0 と GND に接続します。

端子 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 ミリ秒間スリープしてから、ループバックして、もう一度やり直します。つまり、1 秒間に 2 回の鳴動(500 ミリ秒ごとに 1 回)が発生します。
私たちは非常に簡単なメトロノームを作ったのです!