1,はじめに
今年度、私の娘が保育園に入園することになりました。娘の保育園では行事にバザーというものがあり、11月なのですがちょっと気合を入れて盛り上げたいと思い、100均で売ってるちょっと珍しい花の種を育ててバザーで売りさばこうと計画しています。そこで、せっかくなら光・温度・水やりをスマート化するシステムをDIYしてしまおうというわけで、Qiitaにも記事で残すこととしました。
2,構成
2-1,回路
このシステムのコアとなる制御回路はArduinoを中心に構成します。その他、温度センサ、発熱系機構、水やり機構、発光機構、UIを接続し、とりあえずネットにつながず動作するものとして考えました。また、とりあえず水やりは自動化せず、ユーザー(私)がポチッと押したらその分水が出るような機構としてみました。システムブロックは以下です。
2-2,ペットボトル
このシステムのボディはペットボトルをそのまま流用します。2Lのお茶のペットボトルなんかを使い、その中にプランターを入れて温室にするイメージです(下の図を参照)。これだけでも温室になるわけですがさらに光と温度と水を制御する機構を組み込みます。
3,材料
1. Arduino
Arduino UNOを使います。後述のTFTディスプレイを載せるのでIOが足りなくなりそうですがMegaに切り替えたりはしません。UNOの限られたハードのみで何とかしようと思います。
2. ディスプレイ
Elgoo TFTタッチスクリーンというものをAmazonで見つけたのでこれを使ってUIも実装してしまいます。物理スイッチでポチッとやってもよかったのですが、タッチペンでポチッとやるの今風なやつに憧れてます。ちなみにIOはディジタルは2~9, アナログはA1~A4まで全部使ってしまいます。A4はI2Cにも使うピンなのですが、A4に入るべきピンをジャンパしてArduinoのRESETに入れれば両立できます。
3. 温湿度センサ
Bosch社のBME280を使います。温湿度だけでなく気圧も計測できます。I2Cで制御します。
4. ウォーターポンプ
水やり機構としてウォーターポンプを使います。サイズの合うチューブも一緒にAmazonで注文してしまいます。ちなみにDCモーターなのでArduinoからの信号で制御する際はパワーMOS FETでモータードライブ回路を構成します。私は手持ちのNch FETと抵抗とダイオードで簡単に構成しました。Arduinoに入力する電源(9V)をスイッチングするだけです。定格は12Vですが9Vで十分です。(以下、回路図)
5. その他
その他でまとめてしまいますが、発光機能についてはフルカラーLEDを使用しました。これによって少ないIOが圧迫されますがこだわりみたいなもんです。また、発熱機構はセメント抵抗とMicrochip社のサーミスタとパワーMOS FETを組み合わせてスタンドアロンで温度調節してくれるような機構としました。よって、発熱機構については今回はArduinoから制御しないことになります。
4,ソースコード
ソースコードはまぁいろんなところからコピペしまくりで構成しました。基本的にはタッチスクリーンに付属したソースコードをベースにスクリーンの右端にカラーボタンを配置して左側に温湿度と気圧を表示のような感じです。
こちらに載せました。
5,完成画像
この何とも言えぬ手作り感。
次回は、フルカラーLEDをパワーLEDに替え、温度調整をArduinoから制御するようにしようか検討してます。また、シリアル通信ポートが空いているのでWi-Fiを利用したIoT化も検討しています。