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

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

必要なもの&準備
- SPACEBLOCK通常パッケージ[SPACEBLOCK本体、USBケーブル、電池ボックス]
- 土壌水分センサモジュール(土壌水分センサ)
- 8×8 RGB LEDマトリックスパネル(LEDパネル)
- ジャンパーワイヤ[ピンヘッダ-ピンソケット3本]
- プログラミングをするパソコン

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

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

土壌水分センサって?
土壌水分センサは、土の中の水分量を測定することができます。水分がない状態が0で、水分が多くなるほど数値は大きくなります。このように量や大きさなどの程度を数値でプログラムに渡すことをアナログ入力と呼びます。
土壌水分センサは、測定した水分の量に応じてSPACEBLOCKに挿したピンヘッダの電圧を上げたり下げたりします。電圧の程度に応じて0から1023までの数値に置き換えてプログラムに値を渡しています。

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

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

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

土の乾き方によってLEDパネルの表示を変えよう!
土壌水分センサの使い方がわかったところで、早速LEDパネルで警告を出す仕組みを作りましょう。
変数を作成する
新しい変数を作成し「water」と名前をつけます。


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

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

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

プログラム完成
これで完成です。土の乾き方に応じて警告が出るようになりました!
土が十分湿っているときは何の反応もありませんが……


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

これでもう水やりは忘れないはず!!