Raspberry Pi でLチカ(欲張りセット)
こんにちは。國松です。
今回はLEDをチカチカさせてみたいと思います。i2cから電子工作の基本に立ち返ってみます。(本当の所はこの記事を上げるのが遅れただけです。)
LEDをチカチカさせる(通称Lチカ)にはラズパイからLEDを制御します。
用意するもの
1.Raspberry Pi3 Model B+ (OsはRaspbian)
2.ブレッドボード
3.赤色LED
4.330Ωの抵抗
5.ジャンパワイヤ(オスーメス)
部品の配置と配線
Lピカの時と同じに見えますが、1点変わった所があります。
ラズパイのGPIOのプラス側のピンが1番ピン(3.3v)から7番(GPIO4)ピンに変わっています。
3.3vに繋いでいるとLEDは点灯しっぱなしになってしまい制御できないので…
手動でLチカ
WiringPiを使ってラズパイのGPIOを制御してみたいと思います。
WiringPiとはラズパイのGPIOを制御するためのライブラリです。
プログラムを書いてLEDを制御する前にターミナルからラズパイのGPIOを制御してみます。まず、ターミナルを起動します。黒くて四角い画面にコマンドを入力していきます。
1 2 3 4 5 6 7 8 | #GPIOのポート4を出力専用に設定 ---1⃣ gpio -g mode 4 out #GPIOのポート4の値を1(HIGH)に設定 ---2⃣ gpio -g write 4 1 #GPIOのポート4の値を0(LOW)に設定 ---3⃣ gpio -g write 4 0 |
2⃣と3⃣を繰り返し入力することでLEDをチカチカさせる事ができます。(上記のコードは『やさしくはじめるラズベリー・パイ』のp86から引用しています)
次にプログラムを書いてLチカさせたいと思います。言語はPythonを使用して、GPIOを操作するためのライブラリはRPi.GPIOを使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #LEDをチカチカさせるプログラム import RPi.GPIO as GPIO import time, sys PIN = 4 GPIO.setmode(GPIO.BCM) GPIO.setup(PIN, GPIO.OUT) while True: try: GPIO.output(PIN, GPIO.HIGH) time.sleep(0.5) GPIO.output(PIN,GPIO.LOW) time.sleep(0.5) except KeyboardInterrupt: GPIO.cleanup() sys.exit() |
プログラムが書けたら(led.pyと名前を付けて)保存してpython3 led.pyで実行します。
無事にLEDをチカチカさせる事ができました。このままほおっておくとずっとLEDがチカチカしているので終了させるにはCtrl+Cを押します。
次にWiringPiを使ったpythonでのLチカをやってみたいと思います。(動画は割愛します。)
1 2 3 4 5 6 7 8 9 10 11 12 | #LEDをチカチカさせる import time import wiringpi as GPIO #wiringpiをインボート GPIO.wiringPiSetup() GPIO.pinMode(7,1) while True: GPIO.digitalWrite(7,1) time.sleep(0.5) GPIO.digitalWrite(7,0) time.sleep(0.5) |
WiringPiを使用したC言語でのラズパイのLチカについては北本先輩の記事を参考にして下さい。