今更ですが、Raspberry Pi (ラズパイ) を購入しました。
前々から興味はあったのですが、ラズパイを使って何かをする目的がないので、購入にためらっていました。
昔、ちょっとだけ触って、そのままフェードアウトしていった、玄人志向のKURO-BOXを思い出します。
しかし、友達にラズパイの勉強会に誘われたのを機に購入。
考え方を変えて
まず触ってみる。触ってから目的を考える。
ことにしました。
目的が出来るまで、ちょっとずつ触って、チャレンジしてみようかと思います。
購入したもの
- ジャンパワイヤ (オス-メス)
環境構築
- Raspbian OSをインストール
- Python3環境の構築
- SSH接続
SDカードは相性があるようですが、シリコンパワーのSDカードでも普通にいけました。
Lチカって
まずは、最初のステップとして Lチカ にチャレンジ。
Lチカとは、LEDをプログラムで制御して点滅させる、シンプルな構造。
LEDをチカチカさせるのでLチカ。ローソンのはLチキ。
最初にトライするには、うってつけです。
用意したもの
- ブレッドボード
- ジャンパワイヤ (オス-メス) 2本
- LED 1本
- 抵抗 (200Ω)
抵抗は300前後であれば問題ありません。
GPIOポート
ラズパイの GPIO から電源を取ります。
GPIOとは汎用入出力インターフェイスのこと。General-Purpose Input/Output の略。
ラズパイの場合、40本のピンがあり、図の左下から順に
2 4 6 8 … 38 40
1 3 5 7 … 37 39
と、ピン番号が割り当てられています。
各GPIOには、用途が決まっています。
例えば、ピン番号 1 は 3V の電源が取れます。
ずっと光らせるだけであれば、このピン番号 1 にジャンパワイヤを接続して電源を取得するだけです。
ですが、LEDをチカチカさせたい場合は、プログラム上からON/OFFを制御します。 このような場合は、黄色い丸の GPIOから取得します。
| 用途 | ピン番号 | ピン番号 | 用途 |
|---|---|---|---|
| 3V | (1) | (2) | 5V |
| GPIO2 | (3) | (4) | 5V |
| GPIO3 | (5) | (6) | GND |
| GPIO4 | (7) | (8) | GPIO14 |
| GND | (9) | (10) | GPIO15 |
| GPIO17 | (11) | (12) | GPIO18 |
| GPIO27 | (13) | (14) | GND |
| GPIO22 | (15) | (16) | GPIO23 |
| 3V | (17) | (18) | GPIO24 |
| GPIO10 | (19) | (20) | GND |
| GPIO9 | (21) | (22) | GPIO25 |
| GPIO11 | (23) | (24) | GPIO8 |
| GND | (25) | (26) | GPIO7 |
| GPIO0 | (27) | (28) | GPIO1 |
| GPIO5 | (29) | (30) | GND |
| GPIO6 | (31) | (32) | GPIO12 |
| GPIO13 | (33) | (34) | GND |
| GPIO19 | (35) | (36) | GPIO16 |
| GPIO26 | (37) | (38) | GPIO20 |
| GND | (39) | (40) | GPIO21 |
Lチカ
fritzing を利用して回路図を作成します。
今回は GPIO24 から電源をとり、LEDの間に抵抗を置きます。

回路図からブレッドボード図を微調整して、イメージを抑えます。

プログラム
PythonのGPIOモジュールを利用して、1秒ごとに点灯、消灯を10回繰り返すプログラムを作成します。
import RPi.GPIO as GPIO import time PIN = 24 GPIO.setmode(GPIO.BCM) GPIO.setup(PIN, GPIO.OUT) try: for i in range(10): GPIO.output(PIN, GPIO.HIGH) time.sleep(1.0) GPIO.output(PIN, GPIO.LOW) time.sleep(1.0) except KeyboardInterrupt: pass finally: GPIO.cleanup()
GPIOモード
ピン番号で指定する BOARD と、GPIOの数字で指定する BCM があります。
今回は BCM を利用します。
GPIO24 を出力として利用するため、セットアップでは 24 を指定します。
もし、BOARD であれば、18 を指定します。
点灯・消灯
GPIO.output メソッドの第二引数で電流のON/OFFを設定します。
- GPIO.HIGH (True)
- GPIO.LOW (False)
ラズパイで確認
ブレッドボード図をもとに、実際に接続し、SSH経由でプログラムを実行します。

無事、LEDをチカチカすることができました!
まとめ
大学時代に、半田ごてを使って回路を作ったはずなのですが、遠い昔のことで、すっかり忘れておりました。
楽しかった記憶もありません。
しかし、実際にLEDが点灯したときは、純粋に感動し、楽しいと感じました。 今回はLチカですが、次のステップを試してみたいと思います。
ラズパイを始めるにあたり、 が、大変わかりやすく、とても参考になりました。
おすすめの本です。
参考
- Raspberry Pi公式
-
- 4章 プログラミングによるLEDの点滅

