[No.14]水分警告パネルで水やりはバッチリ!

Inquiry-Based Study

みなさんは植物を育てるのは好きですか? 私はサボテンを枯らせてしまったことがあり、植物の栽培はどうも苦手のようです。水やりは時々でいいはずだから……と思ってついそのままにしてしまうのが原因。『そろそろ水をちょうだい!』と植物が教えてくれたら、さすがに申し訳ない気持ちになって忘れないはず……。どうにかできないかな……。 こんなときこそSPACEBLOCKで発明! 水が足りなくなったら顔マークで教えてくれる水やり忘れ防止装置を作ってしまいましょう。「土壌水分センサモジュール」を使いますよ。

Elementary School ~ Intermed. 45分
こんな装置を作ります!

必要なもの&準備

上段左から:SPACEBLOCK通常パッケージ、土壌水分センサモジュール、下段左から:8×8 RGB LEDマトリックスパネル、ジャンパーワイヤ

SPACEBLOCKに拡張パーツを接続する

まずは、今回使用するLEDパネルと土壌水分センサをSPACEBLOCKに接続してみましょう。
接続の全体像

細かい部分は次の図を参考にしてください。土壌水分センサの「G」「V」「S」から出ている3本のジャンパーワイヤをどこに挿すのかを確認してください。

ピンソケットの位置に注意して接続する

土壌水分センサって?

土壌水分センサは、土の中の水分量を測定することができます。水分がない状態が0で、水分が多くなるほど数値は大きくなります。このように量や大きさなどの程度を数値でプログラムに渡すことをアナログ入力と呼びます。

土壌水分センサは、測定した水分の量に応じてSPACEBLOCKに挿したピンヘッダの電圧を上げたり下げたりします。電圧の程度に応じて0から1023までの数値に置き換えてプログラムに値を渡しています。

値が小さいほど土壌水分量が少ない

土壌水分センサの値をチェックしてみよう

土壌水分センサの値をプログラムで使うときは、「入力」カテゴリーの[《A0》の電圧をアナログ読取]ブロックを使います。[繰り返す]と[数字《0》を表示]と組み合わせて次の図の通りにプログラムしてみましょう。
このプログラムを実行するとコンソールに土壌水分の値が表示され続ける

プログラムを実行すると、土壌水分センサが測定した値がコンソールに表示されます。銀色のセンサ部分が何にも触れていないと値は「0」ですが、指ではさむだけでも水分を検知して数値が上がります。水に濡らしたティッシュではさんでみるなど数値の変化を確かめてみましょう。

センサを指ではさんで10〜20くらいの値が出たところ
注意!
土壌水分センサの銀色の部分以外には、水がつかないように注意してください。SPACEBLOCK本体や配線部分も水がかからないように扱ってください。故障や発火などの原因となります。水がかかるおそれのある部分には絶縁テープを巻いて安全に使いましょう。ビニールテープも利用できますが、防水性にも優れたブチルゴムという素材のテープは接着剤ではなく素材同士がくっつき合うので扱いやすく便利です。

土の乾き方によってLEDパネルの表示を変えよう!

土壌水分センサの使い方がわかったところで、早速LEDパネルで警告を出す仕組みを作りましょう。

変数を作成する

新しい変数を作成し「water」と名前をつけます。

変数「water」を作成
[繰り返す]ブロックと[数字《変数名》に《 》をセット]を組み合わせ、変数「water」に土壌水分センサの値を入れます
変数「water」に土壌水分センサの値を入れる

条件で処理を分ける

続けて、LEDの表示を切り替えるプログラムを作成します。土が少し乾き始めた状態で軽い警告を出し、かなり乾いた状態で強い警告を出すことにします。どのくらいの値で警告が出るようにするかは、実際に植木鉢に土壌水分センサを挿して、土の状態でどの程度数値が変わるかをチェックして決めましょう

植木鉢に土壌水分センサを挿して値をチェックしているところ

値の参考値は、以下の通りです。

[参考値]

  • 0~300 乾燥している土

  • 300~700 湿った土
  • 700~950 水中

今回は土壌水分センサの値が500より小さくなったら第一警告を出し、300より小さくなったら第二警告がでるようにします。次の図の通り、[もし《 》なら…でなければ…]ブロックと[《0》《=》《0》]ブロックで、値によってLEDパネルの表示方法を3通りにわけてください

土壌センサの値によって、3つに処理を分岐させる

LEDパネルの表示を指定する

[もし《 》なら…でなければ…]ブロックの間にLEDパネルの指定を追加すると、次の図の通りプログラムが完成します。LEDパネルに顔を表示して感情に訴える作戦です。

土壌水分センサの値でLEDパネルの表示が変わるプログラム

プログラム完成

これで完成です。土の乾き方に応じて警告が出るようになりました!

土が十分湿っているときは何の反応もありませんが……

青い 『おーい!』な顔が出ています。ちょっと乾いているようですよ!

赤い 『もうダメ!!』な顔が出ています。もう限界みたい! はやく水を!!!


動画で見てみましょう。第一警告の青い顔が出ている状態から、水をあげて十分に土が湿ると、警告が消えることがわかります。
こうして表情が出ると、さすがにちゃんと水をあげないといけない気持ちになれそうです!
これでもう水やりは忘れないはず!!