M5StickC Plusと水分測定センサ付き給水ポンプユニットをUIFlowで使用してみる(1)
「M5Stack用 水分測定センサ付き給水ポンプユニット」というものがあります。
ちなみに、「M5Stack用土壌水分センサユニット」というのもあり、使用したこともあるのですが、
電極部分が金属製で、すぐに溶けてなくなって計測できなくなってしまいました。「M5Stack用 水分測定センサ付き給水ポンプユニット」は静電容量式で計測するようですので、その心配はありません。また、土壌水分を量ったら、水を供給したくなるものですが、このユニット単体でポンプがついているため、ユニット追加後、オール・イン・ワンで動作可能です。
使えるようにする
UIFlowで、Unitsから「WATERING」を追加すると使えるようになります。
ブロックは簡素で、「Read」に水分量を計測するブロック、「Write」にポンプを動作させるブロックが来ます。
こちらのブロックでは、センサの値を取得できます。
こちらのブロックではポンプの動作を決められます。
上下で動作としては同じです。
上のブロックでは「0」は停止、「1」は動作となります。
下のブロックの方がON、OFFで初心者には分かりやすいかもしれません。
動作確認
まずは動作確認、ということで、簡単なプログラムを組みました。
常にセンサからの値を表示し、ボタンAを押すたびに動作をON、OFFさせます。ポンプの動作状態もラベルに表示します。
このユニット自体の個体差があるかもしれませんが、手元で調査したところ、完全に乾いた状態(空気中)では2000近く、水中に漬ける(100%水)と1500近辺の値を示しました。湿ると数値が下がるような動きをするようです。
なお、ポンプからは2本チューブが出ていますが、手前側のチューブから水を吸い込み、奥側(水分センサ側)から水を吐き出すようです。
実際に土壌水分を測りましたが、土がきちんと湿らないと数字が動かないようでした。
ポンプはひとまず考えないで、ジョウロで水をあげて数値がどうなるか調べたのですが、あふれそうになるくらい水でいっぱいにするとほぼ1500近くまで値が動くものの、すぐに2000近くまで戻ってしまいました。
おそらく、土がちゃんと湿っていないのだと思われます。
3~4回同様の動作を繰り返すと土が湿ってきたのか、1700(60%)程度の値を安定して示すようになりました。したがって、ポンプを動作させたからといって、すぐに土が湿って値が安定して上がるようなことはないようです。
ジョウロで相当水を与え続けないと数値が下がらなかったので、この動作をポンプでやるとなると、水が相当必要となりそうです。
相当量の水をもともと用意しておくか、水を循環させてまかなうようなつくりを取り入れないと、すぐに水がなくなってしまうでしょう。