別ブログで記事にした、M5Stackを使用した自動水やり機・環境計測装置をこちらにも転載します。
****************************************************************
◆目的
盆栽を育てる際に、旅行や出張などにより水やりが出来ない事がある。
そういった際でも水やりが自動でできるシステムを作りたい。
また、盆栽周りの環境をモニタすることで、病気等の問題が発生した際の原因調査を行いやすくするためのデータ収集を行いたい。
⇒ 環境をモニタしつつ水やりを自動で行う装置を開発する。
◆概要
- 一定時間毎に気温,湿度,気圧,土壌湿度,明るさを計測。
- 土壌湿度が一定値以下の場合、ポンプによる散水動作を実施
- 計測結果,散水動作有無をWiFi経由でLine(IFTTT)に送信
- 計測結果をWiFi経由でクラウド(Ambient)に送信
- DeepSleepModeにより動作時のみ駆動。

◆必要な部品など
- M5Stack (今回はM5GOを使用)
- M5Stack用土壌水分センサユニット
- M5Stack用環境センサユニット (SwitchScienceでは単体販売していない?今回は M5GO 付属品を使用)
- CdSセル
- 可変抵抗
- M5StackSideBB (動作検証の際にあると便利)
- M5Stack用ユニバーサル基板キット
- NPNトランジスタ
- ダイオード (ポンプの逆起電力処理用)
- DCコネクタ
- ACアダプター5V
- ポンプ
- ホース
- ジャンパー線
- はんだ付け道具、ニッパなどの工具、リューター、グルーガンなど
◆回路の作製作業
・ユニバーサル基板配線図
[配線図画像追加予定]
これを基に、はんだ付けして回路を作製した。
[写真追加予定]
・可変抵抗の抵抗値設定の考え方
CdSセルの抵抗値は明るさに応じて変化する。
→CdSセルの抵抗特性(データシート)を確認。また、スマホのアプリで明るさ計測し、テスターなどで抵抗値を計測。
CdSセルと可変抵抗により分圧された電圧がpin35に入力され、その電圧値をAnalogReadしていることになる。
pin35に入力される電圧値の計算式は以下。
Vo=R2/(R1+R2)*Vi Vo=pin35に入力される電圧[V] Vi=5[v] R1=可変抵抗[Ω] R2=CdS抵抗[Ω]
AnalogRead値はM5Stackの場合、0~5Vで0~4095の値をとる。よって、CdSセルの抵抗値が変化した場合のAnalogRead値は下図のように推移する。
CdSセルの抵抗特性から、明るさが変化した場合のAnalogRead値は下図のように推移することが分かる。
今回は、光合成に必要な明るさ(500~2000Lux)のあたりに変曲点が来るような抵抗値に可変抵抗を設定すれば良い。→今回は1000Ωになるように設定した。
・ポンプ電源配線の加工
電源がUSB端子となっているので、配線をニッパーなどで切断、被覆を向いてジャンパー線(メス)に接続できるようにした。
・ホースの加工
散水させたいホースの位置にリューターでΦ1mm程度の穴を数点開けた。
また、ホース先端はグルーガンで埋めて水が漏れないようにした。
◆プログラム
OneDriveへのリンク
デモ用プログラムの説明
◆動作結果
・動画 (水はコーヒーで色つけ)
・Ambient、Line
・M5StackのLCD
◆注意点やつまづいた点など
・ポンプの使っている水面よりもホースの穴が低い位置にあると、ポンプ電源OFFにしていても水が出続けるので注意
◆感想
はよ盆栽買いたい
ボーナス出ないと買えないことになったでござる