あさがおIoT観察日記④:Arduinoで土の水分量を測る①【大人の自由研究】

アイキャッチ-Arduino Arduino
この記事は約4分で読めます。


前回まで/次回以降の取り組みはこちらから。

どんどん続きを作っていきますよー。
今日は水やりの目安にするための、土の水分量を測ります。

Arduinoで土の水分量を測る

土の水分量、つまり土が乾燥しているか水を保っているかを測るにはどうしたらよいでしょうか。

人間が確認するときには…土を手で触ってみて、湿気ているか乾いているかを見るはずです。それをArduinoで測るには…。

結論は、「電気抵抗」を測ります。

土は電気抵抗が高く(電気を通しにくい)、水は電気抵抗が低い(電気を通しやすい)という性質を利用するわけです。

第1回で紹介したパーツキットにはちょうど良い、というか間違いなくこのために作られたセンサが付いていました。

フォークのように2つに分かれた側がそれぞれ電極になっているので、土に突き刺して電極同士の電気抵抗値を測定します。

内部回路を調べてみたらこんな感じになっていました。

土と水で電気抵抗が違うとはいえ、どちらも電線などと比べると電気が通りにくいので、非常に小さな電流しか流れませんし、水分量による電流の変化も小さなものです。

そこで、電極の間に流れたわずかな電流の変化を、トランジスタという部品を使って大きな電圧の変化にしてArduinoに渡してあげるという動作を行っています。

Arduinoに接続する

今回は使用する基板には動作に必要な部品がすべて実装されています。
「+」ピンは5V、「ー」ピンはGND、「S」ピンはA1(アナログピンならどこでもよい)にそれぞれ接続します。

温度・湿度・大気圧・照度のセンサとは別の場所に設置することが分かっているので、今の段階で専用の延長ケーブルを作って接続しました。 

コネクタ付きケーブルを作るんだったら、汎用でいいので圧着工具を持っておくとはかどります。
作業も楽だし、ミスも格段に減りますヨ。

Arduinoで読み取ってみる 

今回はライブラリは不要です。
analogReadで読み取ればそのままセンサの出力を読み取ることができます。

ちょうど使えるサンプルスケッチがありますので、それを利用してみましょう。

サンプルスケッチを開く

メニューバー[ファイル]→[スケッチ例]→[03.Analog]からサンプルスケッチ「AnalogInOutSerial.ino」を開いてみます。

analogReadで読み取るピンを「0」から「1」に変えて、動かすことができます。

動かしてみる

ここまででArduinoに書き込んでみます。
(図が前々々回の使いまわし…)

書き込んだら、シリアルモニタを起動します

照度がPCにシリアル通信で返ってきています。
帰ってくる数字が大きいほど、電気が通りやすいことを表します。

センサが何にも触れていない状態だとanalogReadの読み取り値は0、
(いちおう、下に敷いてある水色のはゴムマットなので触れていても電気を通しません)

手で触れると70~80、
これは手が濡れているか乾燥しているか、濡れているとしてそれは水道水か汗か、センサの両面を触るか片面を触るか、そっと触れるだけかぎゅっと握るかなどで変わります。
この時は手は乾燥した状態でそっと乗せた(=片面だけ触れている)状態です。

金属製のお皿を載せると860くらい、

センサを水(水道水)に突っ込んでみたら650くらいでした。
水につけるのはセンサの電極だけにして、電子部品が水につかないように気を付けてください。

まとめると、

  • 空気中:0
  • 乾燥した手:70~80
  • 金属のお皿:860
  • 水:650

となりました。結構水って電気通すんですね。

水に漬かった電気器具が壊れるとか、濡れた手で電気器具を触ってはいけないとか、よくわかりますね。

あさがお観察用スケッチを作る

例によって最終仕様のスケッチを作っていきます。
前回までに作成したスケッチに追加して、一つのスケッチにまとめます。

水分量センサの読み取り値を「water」というint型の変数に代入し、シリアル通信でPCに送るようにしてみました。

水分量は最終的には2つの使い道を考えています。

  1. シリアル通信でRaspberryPiに送って、IoTサービスにデータをアップロード
  2. RaspberryPiから時刻を受け取って、時刻と水分量との条件を決めて自動で水やりをする

何物にも限度ってものがあります。
水もじゃぶじゃぶ与えればいいというものではないようなので、時刻と土の乾燥度合いによって水やりを適度にコントロールする方法を考えていきます。

 


 

これで温度・湿度・気圧・照度・土の水分量が測定できるようになりました。
まだまだ続きます。

コメント

タイトルとURLをコピーしました