Arduinoで土壌湿度を監視する
たまたまお知り合いからサボテンを頂いたので植物の管理をIoTでやりたいと思っていました。
サンタさんに土壌湿度センサをおねだりしてみたら届きましたので、サボテンを管理できるようにする第一歩として土壌湿度センサを使用した湿度管理を試してみることにしました。
やりたいこと
最終的には水やりまで自動化したいですが、今回はモニタリングまでを実施してみます。モニタリングはシリアルポートを通してPC画面に表示するだけです。
YL-69
使ったのはこちらの土壌湿度センサです。
ピンはそれぞれ以下のようになっています。今回は細かい値を計測したいのでA0ピンを使用しました。
Pin | Wiring to Arduino Uno |
A0 | Analog Pins |
D0 | Digital Pins |
GND | GND |
VCC | 5V |
参考: https://randomnerdtutorials.com/guide-for-soil-moisture-sensor-yl-69-or-hl-69-with-the-arduino/
組み立て
組み立てました。ブレッドボード便利ですね。
プログラム
1 2 3 4 5 6 7 8 9 10 |
int soil_moisture; void setup(){ Serial.begin(9600); } void loop(){ soil_moisture = analogRead(0); Serial.println(soil_moisture); } |
ポートの表示
Arduinoのプログラムを起動して「ツール>シリアルモニタ」から確認することができます。プログラムでは9600 bpsを設定していたのでそちらを選択。
何ない時
空気にさらしている時は値は常に最大である1023を指していました。
1 2 3 4 5 6 |
1023 1023 1023 1023 1023 1023 |
濡れたティッシュで挟んだ時
濡れたティッシュで湿度が高い土壌を再現してみました。
1 2 3 4 5 6 7 8 9 10 |
375 374 374 374 374 374 373 373 372 372 |
土壌に刺した時
実際の土壌に刺してみました。実家で作業していたので、いただいたサボテンではなくて実家にあったヒポエステスの鉢を使用。
1 2 3 4 5 6 7 8 9 10 |
559 564 566 566 567 567 567 568 568 568 |
濡らしたテッシュほどではないですが、十分湿っていそうですね。
感想
計測はおもったより簡単にできました。次は水やりシステムでしょうか。たぶん続きます。