Raspberry Pi × Wiring Pi でクリスマスツリーを作ってみた【準備編】

 
どうもこんにちは。三宮です。

皆さんは、「12月といえば?」と聞かれて、何を想像しますか?

・・・そうです。「プレゼントを見て喜ぶ子供たちの笑顔」ですよね。
私もITで子供たちを笑顔にしたいなぁ・・・と”いつも”思いながら仕事をしています。

どうしたら子供たちは笑顔になるのか。
なんてことを考えながら町を歩いていると、クリスマスツリーのイルミネーションを見て無邪気に喜ぶ子供たちがちらほらと。

これだ!

ということで、今回はITっぽくクリスマスツリーを作ってみようと思います。

使ったもの

早速ですが、今回使用する道具は下記になります。

Raspberry Pi に Wiring Piをインストールする

クリスマスツリーに欠かせないイルミネーションを再現します。
そこでLEDの点滅を制御するため、Wiring Piを使用します。

インストールは以下の手順です。

// インストールする場所は任意
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

GPIO出力ためのWiring Piのコードを書く

今回は、スタートボタンとストップボタンを設置し、1秒間隔でLEDを点滅させるプログラムを作成しました。
ファイル名は「christmasTree.c」とします。

#include <wiringPi.h>
#include <stdio.h>

// スタートボタンでLEDを点滅させる。
// ストップボタンでLEDの点滅を止める。
int main(void)
{
    int startFlg;
    int endFlg;
    if(wiringPiSetup() == -1){
        printf("error wiringPi setup\n");
        return 1;
    }

    // GPIOの7番を出力ポートにする。
    pinMode(7,  OUTPUT);

    // GPIOの6番を入力ポートにする。(今回はスタートボタンで使用)
    pinMode(6,  INPUT);
    pullUpDnControl(6, PUD_DOWN);

    // GPIOの25番を入力ポートにする。(今回はストップボタンで使用)
    pinMode(25,  INPUT);
    pullUpDnControl(25, PUD_DOWN);

    // 起動後処理
    while(1){
        // スタートボタンを監視
        startFlg = digitalRead(6);

        if(startFlg == 1){
          while(1){
            // LED off
            digitalWrite(7,  0);
            delay(1000);    //wait 1000ms

            //LED on
            digitalWrite(7,  1);
            delay(1000);    //wait 1000ms

      // ストップボタンを監視
            endFlg=digitalRead(25);
            if(endFlg==1) break;
          }
        }
        
        // 入力なしの場合はoff
        if(startFlg == 0){
          digitalWrite(7,  0);
        }
    }
    return 0;
}

電子回路を作る

配線は下記のように作りました。お恥ずかしながら電子回路を初めて触ったデビュー作ですので温かい目で見てやって下さい。

raspai5

動作確認

ではこのプログラムと回路で動作確認を行ってみます。

下記をコマンドで実行します。

sudo gcc cristmasTree.c -o cristmasTree -lwiringPi
sudo ./cristmasTree

実行後、スタートボタンを押下します。

raspai2

無事にLEDがつきました。

下準備完了

ここまでで下準備が出来ました。
この後はLEDを点灯させた場所に、イルミネーション用のLED達を接続していきます。

次回は配線のはんだ付け~クリスマスツリーの完成までをやっていきます。

お楽しみに!

記事をシェア
MOST VIEWED ARTICLES