見出し画像

M5StickC Plusと水分測定センサ付き給水ポンプユニットをUIFlowで使用してみる(1)

「M5Stack用 水分測定センサ付き給水ポンプユニット」というものがあります。

ちなみに、「M5Stack用土壌水分センサユニット」というのもあり、使用したこともあるのですが、

電極部分が金属製で、すぐに溶けてなくなって計測できなくなってしまいました。「M5Stack用 水分測定センサ付き給水ポンプユニット」は静電容量式で計測するようですので、その心配はありません。また、土壌水分を量ったら、水を供給したくなるものですが、このユニット単体でポンプがついているため、ユニット追加後、オール・イン・ワンで動作可能です。

使えるようにする

UIFlowで、Unitsから「WATERING」を追加すると使えるようになります。

UIFlowの「Units」から
「WATERING」を追加
Wateringブロック

ブロックは簡素で、「Read」に水分量を計測するブロック、「Write」にポンプを動作させるブロックが来ます。

センサの値を取得するブロック

こちらのブロックでは、センサの値を取得できます。

ポンプの動作を変更するブロック

こちらのブロックではポンプの動作を決められます。
上下で動作としては同じです。
上のブロックでは「0」は停止、「1」は動作となります。
下のブロックの方がON、OFFで初心者には分かりやすいかもしれません。

動作確認

まずは動作確認、ということで、簡単なプログラムを組みました。

動作確認用プログラム

常にセンサからの値を表示し、ボタンAを押すたびに動作をON、OFFさせます。ポンプの動作状態もラベルに表示します。

空気中での値。写真では「1951」と読める
水没させたときの場合。写真では「1456」と読める

このユニット自体の個体差があるかもしれませんが、手元で調査したところ、完全に乾いた状態(空気中)では2000近く、水中に漬ける(100%水)と1500近辺の値を示しました。湿ると数値が下がるような動きをするようです。

なお、ポンプからは2本チューブが出ていますが、手前側のチューブから水を吸い込み、奥側(水分センサ側)から水を吐き出すようです。

ポンプの動作方向

実際に土壌水分を測りましたが、土がきちんと湿らないと数字が動かないようでした。
ポンプはひとまず考えないで、ジョウロで水をあげて数値がどうなるか調べたのですが、あふれそうになるくらい水でいっぱいにするとほぼ1500近くまで値が動くものの、すぐに2000近くまで戻ってしまいました。
おそらく、土がちゃんと湿っていないのだと思われます。

3~4回同様の動作を繰り返すと土が湿ってきたのか、1700(60%)程度の値を安定して示すようになりました。したがって、ポンプを動作させたからといって、すぐに土が湿って値が安定して上がるようなことはないようです。

ジョウロで相当水を与え続けないと数値が下がらなかったので、この動作をポンプでやるとなると、水が相当必要となりそうです。
相当量の水をもともと用意しておくか、水を循環させてまかなうようなつくりを取り入れないと、すぐに水がなくなってしまうでしょう。

いいなと思ったら応援しよう!