こんにちは!プロクラスの國府です。
今回は、ラズベリーパイ上で、pythonを使ってLEDを点滅させてみたいと思います。
- 用意するもの
- ラズベリーパイ本体(モデル3B+)1式
- ブレッドボード 1つ
- ジャンパ線
- LED(発光ダイオード) 1つ
- カーボン抵抗器 220Ω(オーム) 1つ
- 電子回路を作成する
GPIOとは、General Purpose Input Outputの略です。GPIOは汎用入出力とも呼ばれます。
ラズベリーパイの端についている金属ピンのことで、ラズベリーパイと電子部品の間で電気信号のやりとりを行います。
ラズベリーパイではデジタル信号として、0/1の信号をやりとりするために使います。0は0V、1は3.3V/5.0Vとあります。
ラズベリーパイのGPIOピンを用いてLEDを0.5秒の間隔で点滅させる回路を解説します。
ラズベリーパイの「GPIO 18番ポート」とLEDのプラス側(足が長い)を接続します。(オレンジ色のジャンパ線)
LEDのマイナス側(足が短い)と抵抗(220Ω)を接続して、抵抗とGNDを接続します。(黒いジャンパ線)
抵抗器に極性はありませんので、プラスとマイナスは気にしなくてOKです。
- プログラムに必要なライブラリ「RPi.GPIO」のインストール
LXTerminalが起動して、
$ sudo apt-get install python-rpi.gpio
上のコマンド(sudo から)を入力するとライブラリがインストールされます
- プログラムを書く
LXTerminalが起動して、
$ vi led.py
上のコマンド(sudo から)を入力する、viというエディタを使ってファイル(ファイル名がled.py)を編集することができます。
下記のプログラムを入力して、:wqと打ちファイルを保存して終了してください。
#必要なモジュールをインポート
import RPi.GPIO as GPIO #GPIO用のモジュールをインポート
import time #時間制御用のモジュールをインポート
#ポート番号の定義
Led_pin = 18 #変数”Led_pin”に18を格納
#GPIOの設定
GPIO.setmode(GPIO.BCM) #GPIOのモードを”GPIO.BCM”に設定
GPIO.setup(Led_pin, GPIO.OUT) #GPIO18を出力モードに設定
#for文で5回繰り返す
for i in range(5):
GPIO.output(Led_pin, GPIO.HIGH) #GPIO18の出力をHigh(3.3V)にする
time.sleep(0.5) #5秒間待つ
GPIO.output(Led_pin, GPIO.LOW) #GPIO18の出力をLow(0V)にする
time.sleep(0.5) #5秒間待つ
GPIO.cleanup() #GPIOをクリーンアップ
- プログラムの実行
LXTerminal上で、
$ python led.py
上記のコマンドを実行すると、LEDが5回点滅します。
- 最後に
ラズベリーパイのGPIOを使うことで、動き(モーターを接続して、回転数を調整したり、光センサをつかって暗くなったら照明をつける)
のあるプログラミングを楽しめることができます。
また、pythonは、AIなどの分野で注目されている言語ですが、電子回路と接続したりするライブラリも豊富に用意されている言語でもあり,IoT分野でも注目されつつある言語です。
プロクラスでは、python講座も開講しております。
ご興味のある方、受講をお待ちしております。