【DIY】ESP32と有接点リレーで挑む!自動散水&環境モニタリング制御盤を作ってみよう!①計画編

市販の散水タイマーを使って今年も野菜を育てました。

ハウス栽培もやってまして、とりあえずといっては何ですが、年中何かしらの野菜を育てています。

散水には市販の自動散水タイマーを使用しているのは春から秋にかけて。

たくさんの水を欲しがるきゅうりの栽培には自動散水は水やり忘れによる水不足解消、停止忘れによる過剰散水の防止によって、土壌水分を安定的に維持でき、生育補助として機能していると思います。

自分で散水して育てるのと比較し、きゅうりの品質向上、収穫期間の延長、結果的に収量アップと、自動散水はかなりの効果を発揮してくれました!

しかし、便利な「市販の散水タイマー」なんですが、使っていると何となく欲が出ます。

決まった時間に散水してくれるので大変助かりますが、単純なタイマー式ですのでなんとなく困ることがあります。

雨が降っても決まった時間になれば容赦なく散水してくれます。
せっかく自動化しているのに、止めに行かなくてはなりません。

追加で手動水やりをすることはできます。
でも、設定時間内の散水を止めることができません。(仕様によるのかも)
※実際には水道の蛇口を止めて、散水を止めることはできます。

なんとなく、もっと手放しで何とかならないかなと欲が出てきました。

そこで、もう少し自分の欲を満たす自動散水システムを作ってみようかなと思い立ったのでした。

本連載では、マイコン(ESP32)を導入して、環境によって処理を分岐できる柔軟な制御力を実装した「自動散水システム」を自作していこうと思います。

実際に制作していく手順をいくつかに分け、解説を含めて進めていきたいと思います。

失敗したり、行ったり来たりする可能性もありますが…

まず、この記事では、プロジェクトの第一歩として「全体構想と仕様」を決めていこうと思います。


1. なぜ市販の散水タイマーではなく「制御盤」を自作するのか?

ホームセンターや園芸店で買える乾電池式の散水タイマーは手軽で便利です。
使い始めて散水作業から解放され、間違いなく楽になったはずが、長期間運用していると何となく物足りなくなってきます。

冒頭でもふれましたが、「もっとこうだったらいいのに」という欲や、導入したが故の弊害などに直面します。

  • 天候連動の欠如: 雨が降って土が湿っていても、タイマーの時間が来れば容赦なく散水されてしまう。
  • 拡張性の限界: 複数の異なる植物ゾーン(例:野菜と果樹)で、それぞれ異なる条件の散水を行いたい場合に対応できない。
  • 耐久性・安全性への不安: 屋外や半屋外に剥き出しで設置するため、配線の劣化やトラブル時のリスクが高い。

そこで、今回目指すのは、「マイコンの頭脳」と「リレー・安全ブレーカー」を組み合わせ、メンテナンス性にも優れた堅牢な制御盤です。


2. 【仕様の検討】制御盤に持たせたい4つのコア機能

今回作ろうとしているシステムは、2系統(例えば2列の畝など)で、天候や土の湿度を監視する環境モニタリング機能、条件によって散水を停止するなど動作分岐などの機能を実装できればと思っています。

これらを実現するために考えているのが以下の4点です。

① 2系統独立&順次散水制御

  • DC24Vソレノイドバルブを2系統搭載し、第1系統と第2系統を個別に、または順番に自動散水できる仕組み。

② 環境条件に応じたスマート判定

  • 単なる時間タイマーではなく、「毎日指定時刻の定刻判定」に加え、「気温25℃以上かつ土壌湿度が一定以下」という複合条件が揃ったときのみ作動する賢い自動制御ルールの実装。

③ 現地での状態確認(OLED表示)

  • 0.96インチのOLEDディスプレイ(SSD1306)などを搭載し、現在時刻(NTP同期)、温湿度(DHT11またはDHT22)、土壌湿度、現在の稼働フラグをリアルタイムで現地確認できるようにする。

④ データのログ収集・将来の拡張性

  • センサーデータの変化を把握し、将来的な雨センサーやサーモスタット、リモコン等の追加・拡張を見据えた拡張性の高い回路設計を検討します。

だいたいこの4つを網羅できれば、将来的に拡張を考えたときにも柔軟に対応できそうです。

基本になる部分、実際にどのような作りにしておけばいいのか、これから検討していきたいと思います。


3. 【システム構成と動作フロー】全体の動きを検討する

おおむね「システム」と呼ばれるようなものの全体像は、
「入力(センサー) ➔ 制御(スイッチやESP32) ➔ 出力(リレー・バルブ)」
という3層構造で成り立っています。

今回検討しているのは、

  1. 設定した時間になったら、
  2. 環境(気温や土壌の湿度)の情報を収集し、
  3. 決められた条件に合致するか判断し、動作対象に命令を伝達、
  4. 命令を受け、動作する

を自動的に判断し実行する仕組みを作りたいと考えています。

そうすると、それぞれのプロセスに対して以下のようなフローになり、機器の機能が必要になると思います。

1.設定した時間になったら

  • 散水する曜日、時間を管理する機能
  • 検討部品:タイマー

2.環境に合わせて

  • 温度・光・圧力・加速度などの物理的・化学的な変化を検出し、コンピュータや制御機器が扱える電気信号に変換して出力する機能
  • 検討部品:温湿度センサー、土壌湿度センサー、降雨センサー

3.決められた条件に合致するか判断し、動作対象に命令を伝達

  • 情報に基づいて指定された条件に当てはまるかを判断する機能
  • 判断した結果を実行させる機能
  • 検討部品:ESP32(マイコン)

4.命令に従い動作する

  • 電気信号を受け取り動作する
  • 検討部品:ソレノイドバルブ、OLED(モニタリングの表示器)、ランプ

🌱 自動散水制御システムフローチャート
STEP 1

1. 設定時間・タイマー判定(時間管理機能)

散水する曜日や時間(時刻)を管理し、実行タイミングに到達したかをチェックします。

⚙️ 検討部品・モジュール: タイマー / RTCモジュール(DS3231等) / NTP時刻同期機能
⬇️
STEP 2

2. 環境データ計測・変換(環境適応機能)

周囲の物理的・化学的変化(温度・湿度・土壌水分・雨・光等)を検出し、コンピュータが扱える電気信号(アナログ/デジタル)に変換して出力します。

🌡️ 検討部品・センサー群: 温湿度センサー(DHT11/DHT22)、キャパシティブ土壌湿度センサー、降雨検出センサー、照度センサー
⬇️
STEP 3

3. 条件判定 & 命令伝達(中央制御処理)

収集した情報(時刻・温度・土壌湿度など)に基づき、あらかじめ設定された条件式(例: 「定刻」AND「土が乾燥」AND「雨なし」)に合致するかを判断し、各駆動部へ指示を出します。

🧠 検討部品・処理装置: ESP32マイコン(プログラム制御・ロジック演算・GPIO出力)
⬇️
STEP 4

4. 命令に従った動作実行(アクチュエータ・表示)

マイコンからの電気信号(High/Low・リレー駆動等)を受け取り、バルブの開閉や状態表示・警告灯などの動作を物理的に実行します。

🚰 検討部品・出力デバイス: ソレノイドバルブ(24V/5V電磁弁)、OLEDディスプレイ(SSD1306/状態モニタリング)、パイロットランプ(動作表示用LED)

4. 【安全&信頼性】DIYだからこそ電気設計は慎重に。

ブログ「スマ農-ベジボルト」を執筆していて重視しているのが、「安全で永続的に稼働する信頼性」が担保できるかです。
マイコン工作であっても、商用電源(AC100V)を扱う制御盤である以上、以下を徹底したいと思っています。

  • 主電源安全ブレーカーの設置
    万が一の過電流やショート時に、元から遮断できる安全ブレーカーを必ず配置。
  • L側(ライブ側)のヒューズ保護
    回路を守るため、電源のL側に過電流対策としてヒューズホルダと適切なヒューズを挿入。
  • 端子台経由仕様での配線
    できるだけ電源と機器の直接接続を避け、端子台を経由させることで、メンテナンス性と接触信頼性を向上させる。

やはり安全第一。人も回路も守る設計、作業を心がけて進めていきたいと思います。

記事の執筆やシステムの設計、実際の工作作業は間違いないように注意して進めていますが、実際に皆さんで同じものを作ったりする際には、各自での確認など十分に注意をお願いします。

実際の作業や配線にあたっては、各メーカーの仕様書を確認し、自己責任で行うようお願いいたします。


5. まとめと次のステップ

今回は、2系統自動散水&環境モニタリング制御盤の全体構想と、仕様を定義しました。

「どんな機能を持たせ、なぜその安全設計が必要なのか」という全体像が明確になることで、今後の設計やパーツ選びのブレが一切なくなります。

さて、全体像が見えたところで、次は具体的な回路の設計へと進みましょう!

👉 次の記事:②設計編 へ進む

おすすめの記事