お知らせ
2023.12.5(Tue)
目次
どうもこんにちは。三宮です。
皆さんは、「12月といえば?」と聞かれて、何を想像しますか?
・・・そうです。「プレゼントを見て喜ぶ子供たちの笑顔」ですよね。
私もITで子供たちを笑顔にしたいなぁ・・・と”いつも”思いながら仕事をしています。
どうしたら子供たちは笑顔になるのか。
なんてことを考えながら町を歩いていると、クリスマスツリーのイルミネーションを見て無邪気に喜ぶ子供たちがちらほらと。
これだ!
ということで、今回はITっぽくクリスマスツリーを作ってみようと思います。
早速ですが、今回使用する道具は下記になります。
クリスマスツリーに欠かせないイルミネーションを再現します。
そこでLEDの点滅を制御するため、Wiring Piを使用します。
インストールは以下の手順です。
// インストールする場所は任意 git clone git://git.drogon.net/wiringPi cd wiringPi ./build
今回は、スタートボタンとストップボタンを設置し、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; }
配線は下記のように作りました。お恥ずかしながら電子回路を初めて触ったデビュー作ですので温かい目で見てやって下さい。
ではこのプログラムと回路で動作確認を行ってみます。
下記をコマンドで実行します。
sudo gcc cristmasTree.c -o cristmasTree -lwiringPi sudo ./cristmasTree
無事にLEDがつきました。
ここまでで下準備が出来ました。
この後はLEDを点灯させた場所に、イルミネーション用のLED達を接続していきます。
次回は配線のはんだ付け~クリスマスツリーの完成までをやっていきます。
お楽しみに!