GPIOポートを活用したプログラミング1 ~LEDの制御~

5-1 Raspberry Piの入出力

 1 ロボットとは
 2 「0」と「1」の世界
 3 ラズパイのGPIOポート
 4 GPIOの電気的仕様
 5 GPIOポートの準備

5-2 電子回路の基礎とプログラミング

 1 オームの法則
 2 LEDの点灯
 3 LEDの点灯プログラム

ロボット講座の5回目です。ロボットカーの製作に向けて、RaspberryPiのGPIOポートとその利用方法を学んでいきます。今回はGPIOポートにLEDを接続して点灯制御します。

最初に電子回路を作成していく上で最低限必要な電気電子工学の基礎について学びました。電子部品、電子機器にはそれぞれ利用する上で適正な電圧・電流があり、これ以下やこれ以上では動作しなかったり破損する恐れがあること、電圧・電流を適正なものにするためオームの法則を基に回路に入れる抵抗値等の計算を行うこと…適正電圧・適正電流について学習しました。また、抵抗のカラーコードの読み方についても学びました。

RaspberryPiのボード上には外部の機器を接続し、信号を取り入れたり、制御するための汎用入出力ポート(GPIO)があります。それぞれのポートがどのような機能や役割を持っていて、どのような電気信号を入出力できるのか全体像を学習し、回路の修正・変更がしやすいようにブレッドボードという汎用ボード上に部品を取り付けていきます。

RaspberryPiのGPIOポート
ブレッドボードへの部品の取り付け
ブレッドボードへの部品の取り付け
今回はLEDの点灯制御を行います

LEDも種類によって適正電圧が異なります。例えば、赤色は約1.8Vから2.2V、緑色は約2.0Vから3.5VでRaspberryPiの出力を考慮して10mA流すとすると…接続する抵抗は…分かったかな?

GPIOのポート番号13,19,26からそれぞれ赤、黄、緑のLEDに配線します。また、ポート番号20,21からそれぞれ赤、緑のLEDに配線して今回は完成!!

みんな何度も確認しながら回路の組み立てを慎重に進めていきます。

黙々と部品を取り付け、配線をして…だんだん回路が出来上がっていきます。RaspberryPi上のGPIOに直接配線することは困難なので、各ポートをもっと広い場所(ブレッドボード上)に展開するため、Tタイプの拡張ボードをフラットリボンケーブルで繋ぎ、ブレッドボードに接続しました。

GPIOポートにLEDを配線
GPIOブレイクアウト用 Tタイプ 拡張ボードでブレッドボードに展開

プログラムの詳細は次回のロボット講座で学ぶとして、ちゃんと接続できたかどうか、サンプルのLED点灯プログラムを実行してみます。やった~赤色LEDが点滅しています。中には、プログラムを改良して、他の色をつけている人もいます。

LED点滅のプログラムを実行
LED点滅のプログラムを実行
モーターや各種センサーを取り付けロボットカーの完成を目指します

次回は、このLEDの点灯制御のPythonのプログラムを確認し、さらにスイッチを接続し、GPIOへの入力について学習していきます。出力と入力ができれば、あとはロボットカーへの応用です。