Arduinoで植木鉢などの水やりを自動化したいという話の続き。
植木鉢などの中の土の水分の量(湿度)をセンサーで計測したい。
土壌湿度センサー(Soil Moisture sensor)というセンサーを使えばできるようだ。
土壌湿度センサーで安い中華製のものをAmazonで購入した。(他にも同じ製品がいくつかの業者で売られているのがあった。もっと安く買えたのかもしれない。)
Arduino 土壌湿度計 湿度検出 モジュール 土壌 水分 水分センサ モジュール(Amazon)
YL-69とかHL-69とかいうセンサーのクローン品らしい。
使用方法は、ネットで探すとこのあたりのページが見つかった。
→ Guide for Soil Moisture Sensor YL-69 or HL-69 with the Arduino Random Nerd Tutorials
→ Automatic Plant Watering and Soil Moisture Sensing 8 Steps
原理は、水分により電気の流れやすさが変化して抵抗値が変わるのを計測する仕組みらしい。
このあいだ別件で使った水位センサー(Water detect sensor)と似たような感じだ。
土壌湿度センサーは、デジタル信号とアナログ信号を取り出すことができるのだが、ログを取りたいのならばアナログ値をArduinoのAD変換ピンにつないで計測すればいいだろう。
以前と同様、センサーのアナログ値を取り込むためのコードは次のようになる。
void setup() { Serial.begin(9600); } void loop() { int sensorValue; sensorValue = analogRead(A0); Serial.print("sensor = "); Serial.println(sensorValue); delay(10); }
ただし、これとリレー制御はFirmataを使う形で作り直す予定だ。
ちなみに、似たような土壌湿度センサーは秋月電子でも売っていたりする。
→ Arduino用 土壌湿度センサー Soil Moisture Sensor – 秋月電子通商
あとは、ポンプとの連動とか、照明の制御をArduinoで一式組み立てたい。
続く。