buto > /dev/null

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

Raspberry Pi入門〜Pythonで電源ランプ制御〜

ほったらかしラズパイをやっと動かしてみた

PyConJPで電子工作のセッションを聞いて勢いでラズパイを買ったものの、買って満足してしまい。。。

今年もPyLadiesアドベントカレンダー参加したいなあ、と思っていたのでこのタイミングでラズパイ始めました!

この記事ではPythonコードからRaspberry Piの電源ランプをチカチカさせます

秋葉原の書泉で買ったスターターキットと入門書(付属のSDカードはRaspbianインストール済)

スターターキットの詳細はこちら f:id:butorisa:20201206220112j:plain

準備.ラズパイ起動

ラズベリーパイをモニター、マウス、キーボードと繋げて電源に接続 f:id:butorisa:20201206221647j:plain

モニターが虹色に(壊れたのかと思った・・・)少し経つとラズベリーf:id:butorisa:20201206221356j:plain f:id:butorisa:20201206221337j:plain

Raspbianのホーム画面が表示された!画面から日本語設定、wi-fi設定をして準備完了! f:id:butorisa:20201206221745j:plain

電源ランプの設定ファイルを編集

ここからはこの記事をお手本にしました

Raspberry Pi 3の電源ランプ、アクセスランプでLチカをする

※初心者のため説明に誤りがあるかもしれません。。。

写真左下にある2つのランプを制御します

  • 上がSDカード読み込み時に点灯する緑ランプ(led0)
  • 下が電源接続時に常に点灯している赤ランプ(led1)

f:id:butorisa:20201206223752j:plain

右のトゲトゲ(コネクタピン)には番号があり、この20番と22番の出力命令を上のランプにそれぞれ流すようにランプの設定ファイルに追記する

※電源を消して再度つけた時はこのコマンドを実行しないと以降のpythonが効かないので注意 f:id:butorisa:20201206224529j:plain

sudo su
echo gpio > /sys/class/leds/led0/trigger
echo 20 > /sys/class/leds/led0/gpio
echo gpio > /sys/class/leds/led1/trigger
echo 22 > /sys/class/leds/led1/gpio
exit

ランプを制御するPythonコードを記述

20番、22番ピンにランプをつける(GPIO.HIGH)消す(GPIO.LOW)の命令をする

1秒間隔で点灯・消灯を繰り返すようにしています

import RPi.GPIO as GPIO
from time import sleep

Green=20
Red=22

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(Green, GPIO.OUT, initial=GPIO.LOW)
GPIO.setup(Red, GPIO.OUT, initial=GPIO.LOW)

try:
    while True:
        GPIO.output(Green, GPIO.HIGH)
        sleep(1)
        GPIO.output(Green, GPIO.LOW)
        sleep(1)
        GPIO.output(Red, GPIO.HIGH)
        sleep(1)
        GPIO.output(Red, GPIO.LOW)
        sleep(1)

except KeyboardInterrupt:
    pass

GPIO.cleanup()

このコードをpyファイルにしてsudoで実行すればランプがチカチカ!

sudo python3 ファイル名.py

f:id:butorisa:20201206234309g:plain