Raspberry Piを使って「複数」のLEDの点滅(Lチカ)を制御してみる

スポンサーリンク

IMG_3913

前回の Raspberry Piを使ってLEDの点灯(Lチカ)を制御してみる に続いて、今度は「複数」のLEDの制御に挑戦してみます。一つのLEDとは違って見栄えは良くなると予想。

はじめる前に

今回用意するものは前回の Raspberry Piを使ってLEDの点灯(Lチカ)を制御してみる と全く同じです。
変わっているのは、配線の組み方とプログラミングです。

Raspberry Piとブレッドボードを接続する

それではRaspberry PiのGPIOポートとブレッドボードを接続して「複数」のLEDを点滅させてみましょう。

目指す完成回路図

完成図は下記のような感じ。
ping-pongv1 (1)_ブレッドボード

GPIOの16番、20番、21番を使ってLEDの点滅制御を行います。
(赤いランプと丁度重なって見えづらいですが、、、)それぞれに抵抗をかましてLEDをつなげます。最後はRaspberry Pi側のGNDに接続。

Raspberry Pi側の接続

上の完成回路図に合わせて下記のような感じでRaspberry Piに配線。
IMG_3890

ブレッドボード側の接続

同じく上の完成回路図に合わせて下記のような感じでブレッドボードに配線。
FullSizeRender

Pythonを使った点滅プログラム

前回の Raspberry Piを使ってLEDの点滅(Lチカ)を制御してみる のソースを参考にして作っていきます。

適当な場所に好きなファイル名をつけて.py(pythonファイル)を作成します。

touch ltica.py

新しいファイル、ltica.pyの出来上がり。

引き続き vimコマンドで編集モードに変更。

vim ltica.py

編集モードに移行後、下記ソースを入力。

import RPi.GPIO as GPIO
import time
 
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)
GPIO.setup(20, GPIO.OUT)
GPIO.setup(16, GPIO.OUT)
 
# interval
seconds = 0.1

try:
 while True:
  
  GPIO.output(21, GPIO.HIGH)
  time.sleep(seconds)
  GPIO.output(20, GPIO.HIGH)
  time.sleep(seconds)
  GPIO.output(16, GPIO.HIGH)
  time.sleep(seconds)
  GPIO.output(21, GPIO.LOW)
  time.sleep(seconds)
  GPIO.output(20, GPIO.LOW)
  time.sleep(seconds)
  GPIO.output(16, GPIO.LOW)
  time.sleep(seconds)

except KeyboardInterrupt:
 GPIO.cleanup()

前回のソースファイルを参考にGPIOピンの処理を増やしただけ。
秒数は数が多くなったので変数に入れた。

複数のLEDを点滅(Lチカ)してみる

実際に上記のltica.pyを走らせてみると、、、

IMG_3893
※クリックして画像を表示すると点滅(Lチカ)のGIFアニメを表示できます。

バッチリいい感じに流れるような点滅になりました。
次はwebからこのLEDを制御出来るようにしてみます。

参考文献

・Raspberry Piで学ぶ電子工作(金丸隆志 著)

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク