みなさん、ごきげんよう!みやしんです。
今回はラズパイを使ってPythonやスクラッチから指示を出して、LEDを点灯させる方法をご紹介します!
プログラミングや電子工作が初心者の方にもオススメです。
ラズパイもPythonもスクラッチも使えるなんて、楽しみだにゃ!
ラズパイを使ってLEDを点灯させたことがない方は、まずはこちらの記事がおススメです。
では、早速はじめていきましょう!
1、今回準備したもの
こちらのものを準備しました
1、Raspberry Pi 4 ・・・・・1台
2、赤色LED(順電流If=20mA程度、順電圧Vf=2V程度)・・・・・1つ
3、ブレットボード・・・・・1枚
4、ジャンパー線(オス-メス)・・・・・2本
5、抵抗100Ω・・・・・1つ
電子回路作成
ラズパイのGPIO配置図
ご参考にGPIOの配置図を載せておきます。
今回は、7番(GPIO番号 4)と25番を使います。
電子回路図
回路図に表すとこんな感じです。
絵で表すと以下のようになります。
電子回路図を参考に組んでみる
実際に組んでみましょう!
スクラッチ(Scratch 3)から点灯指示を出す
スクラッチを起動
ラズパイマーク→プログラミング→Scratch 3の順に選択してスクラッチを起動します。
ラズパイ用の拡張機能を追加
画面右下のマークを押します。
左下の「Raspberry Pi GPIO」をクリックすると機能が追加されます
ラズパイマークが追加され、ラズパイ専用の指示コマンドが追加されます
スクラッチでLED点灯指示を出す
早速、点灯させてみましょう。
以下のようにセッティングします。
「旗マークが押されたときにGPIO 4番に電圧をかける」という指示です。
LEDが点灯しました!わーい!
(昼間に撮影したので分かりにくくてごめんなさい。。。一応赤色に光ってます^^)
次はこんな感じで指示を出してみましょう!
「0.5秒点灯→0.5秒消灯を繰り返す」という指示です。
点滅しましたね!^^
PythonでLED点灯指示を出す
Pythonコード
次はPythonを使ってLEDを点灯させてみましょう!
下記のようなコードを書いてください。
GPIOの端子番号で指示します。
LEDtry.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(7, GPIO.OUT) # 7番端子をアウトプットに設定
GPIO.output(7, GPIO.HIGH) # 7番端子からアウトプット
time.sleep(3)
# 3秒維持(点灯保持)
GPIO.cleanup() # GPIO 初期化
下記のようにBroadcomチップに準拠したGPIO番号で指示することもできます。
今回の場合、7番端子→GPIO4となります。
つまり、以下のように書き換えても使えます。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT)
GPIO.output(4, GPIO.HIGH)
time.sleep(3)
GPIO.cleanup()
ファイルをラズパイのデスクトップに置いて実行してみましょう。
まずは、デスクトップに移動します。
$ cd /home/pi/Desktop
続いて、管理者(sudo)でPythonファイルを実行します。今回はファイル名をLEDtry.pyにしています。
$ sudo python3 LEDtry.py
LEDが点灯しましたね!
LEDを点滅させる
Pythonスクリプトに追記してLEDを点滅させてみましょう!
LEDtry2.py
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.OUT)
while True:
GPIO.output(4, GPIO.HIGH)
time.sleep(1)
GPIO.output(4, GPIO.LOW)
time.sleep(1)
while Trueを使って繰り返すようにしています。1秒ずつ点灯と消灯を繰り返します。
実行してみましょう。
$ sudo python3 LEDtry2.py
上手く点灯しましたか?^o^
コメント