Edisonで土壌センサを使って処理をする

2014.12.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

土壌センサを入手しました

土壌センサを入手しました。 手に入れたのはGrove製のMoisture Sensor V2。

moist

上に端子とICチップがついていて、下にセンサがついています。 センサ間を電流流して、その間の抵抗値から水分量を計測するという原理です。

土壌センサから値を読み取る

早速土壌センサをつなげてみましょう。 私には、Grove スターターキットとか割り当てられなかったので、そのまま、ジャンパ線でつなげています。

sensor 接続

ダイナミックな配線です。 基本的に黒はGND、赤はPWR(5V)、青がアナログ線です。 このMoisture Sensorは、3.3Vと5V、どちらでも動作しますが、値の幅を多く取るために5Vでの接続を推奨します。

接続したら、以下のコーディングを行います。

void setup() {

  Serial.begin(9600);

}

void loop() {
  Serial.print("sensor = ");
  Serial.println(analogRead(A0));
  delay(1000);
}

A1からアナログのデータを読み込む一般的なサンプルになります。 sketchを使って書き込むと、プログラムが実行されます。 実行したらシリアルでデータを取得するのですが、取得方法はツール > シリアルモニター です。

次のような表示になります。

sketch serial

なにもない時は0、湿気が多いと最大950まで数値が変化します。

最後に

コレを使うことで、例えば遠隔地にいる土壌が乾いてきたら散水を自動に行うシステムとかが作れるわけです。 弊社でも北海道に札幌オフィスが出来たので、農業と連携してなにかシステムが作れると面白そうですね。