11.4 GPIO
GPIOとは
GPIO は「General-purpose input/output」の略で、汎用的な入出力インタフェースを指します。
Raspi には 40 本のピンヘッダが実装されており、ここから GPIO を利用できます。
CHIRIMEN Raspi、Raspi Zero では、この 40 本のうち下記緑色で示したピン(合計 17 本)が利用可能です。CHIRIMEN micro:bit では利用できる端子が異なり、こちらのページにまとめられています。
Raspi や micro:bit の GPIO 端子は、GND との間に 0V または 3.3V の電圧をかける(出力)か、逆にその電圧を検知する(入力)かのどちらかで動作します。LED は数 mA の電流を流すだけで点灯する部品です。だから、GPIO 端子にかける電圧を 3.3V(点灯) と 0V(消灯) の間で切り替えるだけで、L チカが実現できます。
詳しくはこちらのサイトの解説にまとまっています。
Raspberry Piのピン配置図
Raspberry Pi Zeroのピン配置図
端子の配列は、Raspberry Pi と同じです。
micro:bitのピン配置図
プルアップ(PU)、プルダウン(PD)
GPIO ポートを入力モードで使うとき、何も接続されていない解放状態(電気的に切り離された状態)でも、ポートは 0 か 1 かの値を返します。この値をあらかじめ決めておく仕組みが、プルアップとプルダウンです。プルアップに設定されたポートは 1 を、プルダウンに設定されたポートは 0 を返します。Raspberry Pi のピン配置図に記載されている PU、PD は、各ピンがどちらに設定されているかを示す表記です。micro:bit ではすべてのピンがプルダウンに設定されていますが、GPIO ポートの初期化時にプルアップへ変更することもできます。