柄スタイル

ここは文系のオッサンがITに立ち向かう所

Raspberry Piと8個のLEDでクマスツリーを飾る

   

04s

この記事はArduino Unoと8個のLEDでクリスマスツリーを飾ると内容はだいたい一緒です。

Raspberry piと8個のLEDでクリスマスツリーを飾ります

前回製作したLED8個をRaspberry Piと接続してクリスマスツリーの電飾にしてみます。うまくいったらクリスマスまで次の様はパターンでピカピカと光らせたいと思います。

●○○○○○○○    ○●●●○○○○    ○○○○●○○○    ○○○○○●●●
●●○○○○○○    ○○●●○○○○    ○○○○●●○○    ○○○○○○●●
●●●○○○○○    ○○○●○○○○    ○○○○●●●○    ○○○○○○○●
●●●●○○○○    ○○○○○○○○    ○○○○●●●●    ○○○○○○○○

用意した物

前回製作したLED 白8個 青8個
ブレッドボード
抵抗 1kΩ 1/8
ジャンパー線
Raspberry Pi
クリスマスツリー
前回とほぼ同じです。

クリスマスツリーを光らせる

Raspberry Pi とLED8個をブレッドボードを介して接続します。

LEDはランダムな点滅になるようにクリスマスツリーにバラバラに取りつけます。土台の箱にも1個取り付けました。松ぼっくりの本体には隙間がたくさんあるので、そこにLEDを挿すだけにしてあります。バランスの悪い所はマスキングテープで仮止めしてあります。1)あまりお金は掛けられないので簡易です。では電源を入れてクリスマスツリーの電飾を見てみます。

電飾はそれなりになっていると思います。時間とお金をあまり掛けずに製作するのが目的でした。しかしLEDをハンダ付けで延長するのと、慣れないスケッチを書くのにかなり時間が掛かってしまいました。これで手作りクリスマスツリーは完成です。

 

Raspberry piのプログラム

様々に点滅するパターンの構想はありますが、それをプログラムのにする技量がないので次のような点滅パターンにしました。
LED1〜LED4が0.5秒間隔で順番に点灯します。4つが全て点灯したら今度は0.5秒間隔で順番に消灯します。次にLED5〜LED8が同じように順番に点灯、点滅します。それをforで無限ループしています。2)プログラムの素人がネットでいろいろな情報をかき集めて書いています。きっとおかしなところがあるはずです。

Raspberry Piのソースコード

#include <wiringPi.h> // WiringPiのライブラリ
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int pin;
    int i;

    if (wiringPiSetup () == -1) // Initialize WiringPi
        exit (1);

    for (pin = 0; pin < 8; ++pin)
    {
        pinMode (pin, OUTPUT);
        digitalWrite (pin, LOW);
    }

    for (;;)
    {
        digitalWrite (0, HIGH);
        delay (500);
        digitalWrite (1, HIGH);
        delay (500);
        digitalWrite (2, HIGH);
        delay (500);
        digitalWrite (3, HIGH);
        delay (500);
        digitalWrite (0, LOW);
        delay (500);
        digitalWrite (1, LOW);
        delay (500);
        digitalWrite (2, LOW);
        delay (500);
        digitalWrite (3, LOW);
        delay (500);
        digitalWrite (4, HIGH);
        delay (500);
        digitalWrite (5, HIGH);
        delay (500);
        digitalWrite (6, HIGH);
        delay (500);
        digitalWrite (7, HIGH);
        delay (500);
        digitalWrite (4, LOW);
        delay (500);
        digitalWrite (5, LOW);
        delay (500);
        digitalWrite (6, LOW);
        delay (500);
        digitalWrite (7, LOW);
        delay (500);
    }
}

References   [ + ]

1. あまりお金は掛けられないので簡易です。
2. プログラムの素人がネットでいろいろな情報をかき集めて書いています。きっとおかしなところがあるはずです。

 - Raspberry Pi , , , ,