エンジニア風味 (Engineer-taste)

電子系エンジニアのメモ帳

秋月電子の土壌湿度センサを使う(夏休みの工作)

お盆にアクセスが低下してたかと思ったら、今週は復活していました。
時節柄というわけで、夏休みの電子工作の手引きを書いてみたいと思います。
夏は植木鉢の水の蒸発も激しい、ということで、秋月電子で売っている土壌湿度センサを用いた工作をしてみましょう。
DFROBOTのセンサSEN0114(秋月電子番号でM-07047)は500円で買えます。

f:id:engineer-paju:20190825201802j:plain
センサの箱
こんな箱に入っています。

中身は、下記のようなもので、フォーク状の電極間に電流を流し、増幅してArduinoのアナログ入力で電圧を測定し、電流が多ければ(電圧が高ければ)水分が多いとしています。

f:id:engineer-paju:20190825202102j:plain
センサ本体

今回は「夏休みの工作」ということで、ハンダづけなしで、乗り切ってみます。
センサとArduinoを接続し、そこからシリアル通信でパソコンにデータを送るという、DFROBOTのマニュアルそのものの流れで行ってみましょう。
まず、Arduinoは使いやすく、入手しやすいUNOを使うことにします。UNOは秋月電子はもとより、千石電商やマルツやAmazonでも入手できます。また、どこのブランドのUNOでも外れは少ないのでお勧めです。
また、UNOは端子部分にソケットがすでについているので、ハンダ付けなしで作るのにも向いています(ソケット構造なのは、拡張用のシールドと組合せられるように、ということらしいです)。

それで、センサとUNOを接続しなければなりません。このため、秋月電子でピンヘッダを買っておくとよいです(8ピンのもの(C-12985)が10円で売っています。これを適当に切って使いましょう。

f:id:engineer-paju:20190825203442p:plain
L型ピンヘッダ

まずセンサのソケット部分のピン配置が、このままだとUNOに合いませんので、変えます。

f:id:engineer-paju:20190825203648j:plain
配線組み換え
左が組み換え前、右が後です。青のピンをピンセットか何かで抜いて(ソケットの金属が見える部分の下のところにツメがあるので、持ち上げると抜けます)、ここに赤のピンを挿します。
次に、L型ピンを切って、挿します。
f:id:engineer-paju:20190825203911j:plain
L型ピンを挿す
この図では、ソケットのほうは3ピンに、青ピンのほうは1ピンに切っていますが、後の作業でぶつからなければ適当でかまいません。
そして、UNOにこれらのピンを接続します。
f:id:engineer-paju:20190825204208p:plain
UNOに接続
場所を間違えないように挿しましょう。
あとは、パソコンとUNOの接続だけです。

Arduino IDEに関しては他のサイトを参照ください。
プログラムに関しては、DFROBOTのサイトにあるもので動きますが、少し変えてみます。

int mois;

void setup(){

  Serial.begin(57600);

}

void loop(){
  mois = analogRead(A0);

  Serial.print("Moisture Sensor Value:");
  Serial.print(mois);
  if (mois < 300){
    Serial.println(" : dry (0-300) ");
  } else if (mois <700){
    Serial.println(" : humid (300-700) ");
  }else{
    Serial.println(" : in water (700-950) ");
  }
  delay(1000);

}

こんな感じにしておけば、表示が下記のようになって、例えば値が305だと乾燥ぎりぎりだということがわかります。

f:id:engineer-paju:20190825205007p:plain
センサ出力

以上で完成なのですが、植木鉢の乾き具合を見るには、Arduinoがパソコンにつながっていると使いにくいと思います。
Androidスマホタブレットを接続させることを考えてみましょう。
ただし、全てのスマホタブレットが接続できるわけではなく、USB端子にOTG(USB On The Go)という機能があるものに限ります。
スマホタブレットからUNOに接続する場合には、OTG用のケーブルが必要になります。

f:id:engineer-paju:20190825205526j:plain
OTGケーブル

また、スマホタブレットでUNOからのシリアルデータを受信するためには、何かアプリが必要になります。
ここでは、USB Serial Consoleというアプリを使いました。

f:id:engineer-paju:20190825205808p:plain
シリアル通信アプリの例

これで、UNOとスマホタブレット)を接続すると、データを読むことができます(接続時にアプリ選択などの作業が必要な場合もあります)
文字化けする場合には、アプリの左上の設定で、データレートを57600に設定してください。

f:id:engineer-paju:20190825210113p:plain
シリアル出力

なお、今回、ハンダづけをしないということで、UNOを用いましたが、例えばLeonard互換のBeetleなど、
小さいArduinoがあります(Beelteについているスイッチは今回は関係ありません)。

f:id:engineer-paju:20190825210305j:plain
Beetle

f:id:engineer-paju:20190825210337j:plain
Beetle接続時

ハンダづけができて、コンパクトに製作したい方は、こういったものを選択されるとよいと思います。

お疲れさまでした。