せっかくRaspberry Piを手に入れたので、部品セットを購入して初心者に定番のLEDチカチカプログラムを作ってみました。

raspbianがインストールされていればラズパイ側の設定は不要なので、すぐに実装できます。

プログラムの概要

フローチャート図

フローチャート図

WhileループでLEDチカチカするだけのオーソドックスなものになっています。

ソースコード

#! /usr/bin/python3
from gpiozero import LED 
import time

#GPIOのピン番号を記入する
ORANGE_LED  = LED(5)
RED_LED     = LED(6)
GREEN_LED   = LED(13)
WHITE_LED   = LED(19)

WAIT_TIME   = 0.1 

while True:

    time.sleep(WAIT_TIME)
        
    ORANGE_LED.on()
    time.sleep(WAIT_TIME)
    RED_LED.on()
    time.sleep(WAIT_TIME)
    GREEN_LED.on()
    time.sleep(WAIT_TIME)
    WHITE_LED.on()
    time.sleep(WAIT_TIME)

    ORANGE_LED.off()
    time.sleep(WAIT_TIME)
    RED_LED.off()
    time.sleep(WAIT_TIME)
    GREEN_LED.off()
    time.sleep(WAIT_TIME)
    WHITE_LED.off()
    time.sleep(WAIT_TIME)

    WHITE_LED.on()
    time.sleep(WAIT_TIME)
    GREEN_LED.on()
    time.sleep(WAIT_TIME)
    RED_LED.on()
    time.sleep(WAIT_TIME)
    ORANGE_LED.on()
    time.sleep(WAIT_TIME)

    WHITE_LED.off()
    time.sleep(WAIT_TIME)
    GREEN_LED.off()
    time.sleep(WAIT_TIME)
    RED_LED.off()
    time.sleep(WAIT_TIME)
    ORANGE_LED.off()
    time.sleep(WAIT_TIME)

    ORANGE_LED.on()
    RED_LED.on()
    GREEN_LED.on()
    WHITE_LED.on()

    time.sleep(WAIT_TIME)

    ORANGE_LED.off()
    RED_LED.off()
    GREEN_LED.off()
    WHITE_LED.off()

    time.sleep(WAIT_TIME)
    

回路図と取り付け例

回路図

かなり雑な回路図ですが、初心者なので多めに見てください。

330Rの抵抗、4色のLEDをそれぞれGPIOピンに接続しています。ラズパイのLチカではこのようにGPIOのピンを指定して通電させ、LEDを発光させています。

取り付け例

ブレッドボードへ上記の画像のように接続します。抵抗の導線が長いと感じた場合は、画像右の2つのようにペンチで切断してジャンパーとして利用しましょう。

このプログラムの解説

あえて解説する必要もないと思いますが、gpiozeroからLED通電用のLEDをインポートします。

LED()の括弧内に該当するGPIOの番号を入力して定義、その後onメソッドとoffメソッドでLEDの通電と絶縁を行います。

工夫したところ

特にありませんが、強いて言うのであれば、待ち時間を冒頭で変数に代入することで調節できるようにしています。

動作環境

  • Python3.6以上
  • Raspberry Pi Zeroに回路図に倣った配線を行っている
  • gpiozeroがインストール済み(raspbianであればデフォルト)

実際に動かしてみる

それでは実際に動かしてみます。その前に、回路図を確認して、適切な配線を行っていることを確認しましょう。挿し込むGPIO番号が間違っていれば、プログラムが正しくても、正常に動作しません。

実行して、下記のGIF画像のように光れば正常に動作しています。

LEDが点滅している様子

メリットとデメリット

メリット

ただのLチカプログラムなので大したメリットはありませんが、クリスマスの電飾などに応用できるでしょう。

LEDを赤外線に変更すれば、リモコンとしても応用できます。

デメリット

プログラムとはあまり関係がありませんが、漏電の可能性もあるので抵抗の導線を短くしたほうが良いでしょうね。

現状LEDをチカチカするだけなので、ほとんど用途は思いつきません。

結論

ラズパイ電子工作の中でも基本中の基本のLチカですが、そのままではつまらないので、一気に4個実装してやってみました。

初めての電子工作にしてはうまく行きましたが、ロボットやIoTを自作するには、まだまだ先は長いと言えるでしょう。

ちなみに、画像のブレッドボードやLEDなどの部品類は、kumantechのセット商品を買いました。3000円程度でスイッチやセンサーなど一通り揃っているので初心者におすすめです。

Kuman 35個 Raspberry Piに適用 初心者 電子工作 1602液晶ディスプレイ+温度/湿度センサ+BMP180デジタル気圧センサー+HC-SR501赤外線モーションセンサモジュール 子供遊び Raspberry Pi 3 2 model B A A+ + に対応 電子工作入門キット ラズベリーパイ K71
Kuman 35個 Raspberry Piに適用 初心者 電子工作 1602液晶ディスプレイ+温度/湿度センサ+BMP180デジタル気圧センサー+HC-SR501赤外線モーションセンサモジュール 子供遊び Raspberry Pi 3 2 model B A A+ + に対応 電子工作入門キット ラズベリーパイ K71

関連記事

ラズパイに固定IPアドレスを割り当てる

【内部リンク】【/etc/dhcpcd.conf】raspbianに固定IPアドレスを割り当てる

Ubuntuのように固定IPアドレスがGUIで設定できないので、コマンドから設定させました。

ラズパイに限らず、デスクトップを装備していないサーバーの設定などでも利用することはあるので、覚えておいて損はありません。