Arduinoで常夜灯的なアレを作った
今までの話
Arduinoで常夜灯的なアレを作り始めた - マサルの備忘録
で、出来ました
こんな感じっす。
点灯式の模様。
まだ、ケースとかに入れてないので、なんか生々しいですね。
制御の内容
定期的にPIRからの入力をチェックして、動作を検知した場合だけフォトレジスタに電気を流して、分圧具合から明るさをチェック。暗い場合は一定時間、IKEAのLEDライトを点けます。
動作を検知してなかったり、明るかった場合はLEDライトを消します。
クソコードはこちら。
static int sLed = 12; static int sCheckLed = 13; static int sPir = 2; static int sCdsPower = 3; static int sCdsRead = 7; void setup(){ pinMode(sLed, OUTPUT); pinMode(sCheckLed, OUTPUT); pinMode(sPir, INPUT); pinMode(sCdsPower, OUTPUT); } void loop(){ int value = digitalRead(sPir); if(value == HIGH){ digitalWrite(sCheckLed, HIGH); } else{ digitalWrite(sCheckLed, LOW); } if(value == HIGH && isDark()){ digitalWrite(sLed, HIGH); delay(30000); } else{ digitalWrite(sLed, LOW); delay(1000); } } boolean isDark(){ int analogInput; digitalWrite(sCdsPower, HIGH); analogInput = analogRead(sCdsRead); digitalWrite(sCdsPower, LOW); if(analogInput < 600){ return true; } else{ return false; } }
今のところ、バッテリ駆動でございます。
エネループ2本を5Vにアップコン。駆動時間はこれから測る(笑)