第18回 IoT×プログラミング教育
前回作った土壌湿度センサーをバージョンアップさせ、鉢植の土の乾きを危険信号で知れる仕組みを作ります。
ただ、子供が「アサガオの世話を学ぶ」という学校から与えられた課題がある以上、あまりにも学習の弊害になるような世話の効率化はしない方針です。
乾きの危険信号を作る
赤、黄、緑のLEDを用意します。
一定以上、土が乾いたら黄色信号が光り、カラカラに乾燥すると赤信号を光らせます。
電池駆動で、電池ボックスにON、OFFのスイッチが付いています。
省電力の工夫がないので、きっと電源ONのままだと、すぐに電池切れになるでしょう・・・。
土の乾きを調べたいときに電源をONにするルールです。
危険信号プログラム
前回のプログラムに、LED点灯制御と条件分岐を付け足します。
#define RED_PIN 12 #define YELLO_PIN 9 #define GREEN_PIN 6 int val; void setup(){ Serial.begin(57600); pinMode(RED_PIN, OUTPUT); pinMode(YELLO_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } void loop(){ val = analogRead(0); Serial.println(val); digitalWrite(RED_PIN,LOW); digitalWrite(YELLO_PIN,LOW); digitalWrite(GREEN_PIN,LOW); if(val > 1000){ digitalWrite(RED_PIN,HIGH); }else if(val > 900){ digitalWrite(YELLO_PIN,HIGH); }else{ digitalWrite(GREEN_PIN,HIGH); } delay(1000); }
水を含む状態で、アナログ入力値が800だったので、だいたいですが・・・900を超えると黄色としましょう。
1000を超えると乾燥状態の赤信号です。
センサーを挿していない状態では、乾燥なので赤信号が点灯しています。
土壌湿度信号機をセット
子供が学校から持ち帰ったアサガオの鉢植にセットします。
センサーを土に突き刺すと・・・
緑色の点灯です。湿気は十分。
砂ぼこりや水から守るため、Arduinoはビニール袋で包みます。
昼間の乾きは激しい
翌日の朝、信号はまだ緑色でした。それを見た子供は水をあげなかったようです。
昼間見たら、黄色信号が点灯していました。
まずい・・・。
アサガオは水を好むので、夏場は1日2回、朝夕に水やりが必要です。常に信号は緑色の状態が望ましいです。
乾いたら水をあげると誤解させてしまったかも!?
失敗です。大事な説明が抜けていました・・・。