[No.15]やっぱり忘れるから自動水やり機!

総合・探究

前回、水やり警告システムを作ったのですが、警告してもやっぱり水やりを忘れてしまう人がいたら……。いっそ、SPACEBLOCKで自動水やり機を開発してしまいましょう! 「土壌水分センサモジュール」で水分量をチェックして、足りなければ水やりをスタート。十分な水分になったら自動的に止めます。「180°マイクロサーボモーター」を使いますよ。

小学校~ 中級 90分
こんな装置を作ります!

必要なもの&準備

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

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

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

水やりをする仕組みを作る!

今回出力装置として使うサーボモーターは、0°から180°まで回転させる動きができます。これを使って水をまく仕組みを考えてみました。

小さめのペットボトルの一方向にだけ穴をあけ、水をボトルの半分ほど入れ横に倒します。穴が上部に向いているときは水が出ませんが、くるりと回転させて穴が下部にくると水が落ちるという仕組みです。ペットボトルキャップにサーボホーンを接着して、サーボモーターの角度をプログラムで操作してペットボトルを回転させます。

水やり用ペットボトル部分。サーボモーターにセットできるようにサーボホーンを接着。簡単に着脱できて水の入れ替えも手軽
サーボモーター部分

サーボモーター側だけでは水やり用のペットボトルを支えられませんから、反対側を支えてあげる必要があります。ひとまわり大きなペットボトルを利用して、回転を妨げない支えを作り、支柱に固定しました。

支えになる部分と支柱
こんな風にさっとはめるだけ
真上から見たところ

見本では支柱に大容量の水のペットボトルを使ったため、いっけん給水しているかのように見えるかもしれませんが、単なる支柱で給水する仕組みはありません。水やり用のペットボトルは簡単に外せますから、水がなくなったらまた水をいれてセットしましょう。

自動で水やりをするプログラムを作ろう!

プログラムは次の図の通りです。土壌水分センサの値は500を基準にし、500より小さければ[もし《 》なら繰り返す]ブロックで水をまく動作を繰り返します。土が湿ってきてセンサが500以上の値を示したら動作が止まり、また待機します。
[繰り返す]の内側にさらに[もし《 》なら繰り返す]があることと、変数「water」に土壌水分センサの値を入れるタイミングに注目してください。
水分の値が一定の条件の間、水やりの動作を繰り返すプログラム

スタンドアローンモードで動かしてみましょう。

水分が十分なら動作しません。

水分量が500を下回ると、動作し始めます。動作中の演出としてLEDパネルに「水」という文字が表示されます。

セッティングによって土壌水分センサはけっこうぬれますので、前回記事で紹介したとおり防水対策をしてくださいね。また、穴の開け方で水の出方はけっこう変わりますのでいろいろなパターンを試してみてください。

動画で見てみましょう。
動画では、電池ボックスの電源を入れてからSPACEBLOCKが起動してプログラムが動き出しています。土壌水分が判定され水分量が足りない状態だったので、自動水やり装置が動き始めたのです。

土壌水分センサでチェックした値をもとにサーボモーターを動作させることで、こんなに立派な装置が出来上がりました。

これで、「もう水やりを忘れない!」から問題解決レベルが一段階上がって、「もう水やりしなくても大丈夫!」になりました。これなら旅行中の水やりも安心ですね!

サーボモーター1個を動かすだけで、工夫次第でいろいろな仕組みが作れますから、皆さんもぜひ身の回りの困ったことを解決する発明品を作ってみてください!!