![見出し画像](https://assets.st-note.com/production/uploads/images/118467065/rectangle_large_type_2_7e5e0f9bb9fc401f3f97950006c05d5c.png?width=800)
M5StickC Plusと水分測定センサ付き給水ポンプユニットをUIFlowで使用してみる(2)
応用例
「M5Stack用 水分測定センサ付き給水ポンプユニット」を使用したいちご栽培装置を作成してみました。M5StickC Plusは、電源供給と、ユニットとの接続の関係で、ひっくり返してポンプユニットに結束バンドで固定しています。
![](https://assets.st-note.com/img/1696341587027-1dy3DXDn9T.png?width=800)
![](https://assets.st-note.com/img/1696369115714-yUxohGB4bB.jpg?width=800)
100円均一のタッパーの中央を切り抜き、植木鉢を底上げした状態にしてあります。
これは、水やり後の水が植木鉢下のトレイからあふれるので、それを受け、ポンプによる循環に再利用するためです。
![](https://assets.st-note.com/img/1696341617341-VVuZkmNth0.png?width=800)
ポンプ用の穴も空いていて、給水側を水中に沈めている
タッパーの上部に開けた穴を通じて、タッパーの底部まで伸ばしたポンプユニットのチューブからポンプが水を吸い上げます。
吸い上げた後の水は土の上にぐるぐる巻になったチューブから出ます。チューブにはたくさんの穴を開けてあるので、まんべんなく土に水を与えられます。
![](https://assets.st-note.com/img/1696341638860-1rL2pLmjDV.png?width=800)
植木鉢がタッパー内に置かれた支柱で支えられている
横からみた写真です。植木鉢は底上げされています。植木鉢の下のトレイからあふれた水はタッパーの中にたまります。ポンプがそこから水を汲み上げ循環する仕組みです。
センサの値の整形
![](https://assets.st-note.com/img/1696341692589-9bJAqum7Im.png)
センサ自体は実測により、1500近辺から2000近辺の値を取ることが分かりました。
このままだと、数値が小さい方が湿っており、「値が大きいと乾いている」という直感に反する動き方をするため、最大値の2000からセンサの値を引くことにします。
これにより、値は40~530あたりを動くようになります。(これも実測)
この時点で、乾いていると40、湿っていると530になり、「値が大きいと湿っている」という、ほぼ直感に沿う動きになります。
最大を100、最小を0にしたいので、「マップ」ブロックを使用します。
これは、ある一定の範囲を、他の範囲にマッピング(割り当てる)するブロックです。「マップ」ブロックの場所ですが、ちょっと分かりにくい場所にあります。「Easy I/O」の中にあります。
![](https://assets.st-note.com/img/1696341706482-Bnt5w4wLLE.png)
「マップ」ブロックを使用して、40~530の範囲を0~100の範囲にマッピングします。これにより、0~100%の表記となります。
この値を「水分量」という名前の変数に入れ、動作の条件としています。
![](https://assets.st-note.com/img/1696368923936-GRalDYlPC5.png?width=800)
水分センサの水分量が40%を切るとポンプが作動しはじめ、水分量が上がって、60%を超えると停止するようプログラムしました。
今のところ順調に動作しています。
いちご、育つかなぁ。
内容的には、中学校技術・家庭科の技術分野、「計測・制御のプログラミングによる問題解決」でいけそうな感じです。
この記事が気に入ったらサポートをしてみませんか?