【Raspberry Pi】PythonやスクラッチでLEDを点灯

スポンサーリンク
DX/ITスキル

みなさん、ごきげんよう!みやしんです。

今回はラズパイを使って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の配置図を載せておきます。

raspberrypi-gpio-04

今回は、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となります。

Raspberry Pi 2/3 B ピン配置 (40ピン) - Raspberry Pi - 基礎からの IoT 入門

つまり、以下のように書き換えても使えます。

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^

合わせて読みたい

コメント

タイトルとURLをコピーしました