大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Raspberry Pi でLチカ(欲張りセット)

著者:國松亜紗子
公開日:2019/05/23
最終更新日:2019/05/23
カテゴリー:技術情報

こんにちは。國松です。

今回は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を制御してみます。まず、ターミナルを起動します。黒くて四角い画面にコマンドを入力していきます。

#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を使用します。

#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チカをやってみたいと思います。(動画は割愛します。)

#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チカについては北本先輩の記事を参考にして下さい。

    上に戻る