ESP8266とBlynkによる自動灌水システム
概要
ESP8266-Blynk-Irrigation-systemは、ESP8266(NodeMCU 等)を中心に据えた小型IoT灌水システムのサンプルプロジェクトです。土壌水分センサーの読み取りをBlynkへ送信し、Blynk側から手動(V1)/自動(V2)で制御可能。自動モードでは設定閾値(V3)に基づいてポンプを駆動し、誤動作を抑えるために+3%のヒステリシスを導入します。LCD(I2C 0x27/16x2)でリアルタイムの水分表示が可能で、万が一の連続稼働を防ぐ10分の安全オフタイマーを実装。コード数は少ないながら、実践的な制御ロジックとBlynk連携の基本が学べる構成です。(約300字)
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 5
- ファイル数: 3
- メインの言語: 未指定
主な特徴
- Auto / Manual(V2 / V1)モード切替
- ヒステリシス (+3%) によるポンプチャタリング対策
- 10分の安全タイマーで連続稼働を防止
- I2C接続のLCD 16x2(アドレス0x27)で水分%を表示、Blynk仮想ピン(V0,V1,V2,V3)を使用
技術的なポイント
本プロジェクトの技術的な要点は、ESP8266のアナログ入力とBlynkクラウドを組み合わせた遠隔監視・制御の簡潔な実装にあります。土壌水分センサーはアナログ出力を用い、ESP8266上でADC読み取り値を水分パーセンテージにマッピングしてV0へ送信。Blynkの仮想ピンV3で閾値を設定し、V2の自動モードが有効なときのみその閾値と現在値を比較してポンプをON/OFFします。閾値には+3%のヒステリシスが組み込まれており、センサーの揺らぎや周辺ノイズによる短時間のON/OFF(チャタリング)を抑制します。さらに安全対策として、ポンプが稼働してから10分を越えると自動的に停止するタイマーを導入。LCDはI2C(0x27)で接続され、リアルタイムの水分表示と状態フィードバックを現地で提供します。ハード面ではポンプ駆動にリレーやトランジスタ回路が必要で、ESP8266のADCは0–1Vレンジなど制約があるため分圧回路やセンサーの出力範囲調整が前提になります。コード構成はシンプルで学習用途やプロトタイプに適しており、BlynkトークンやWi‑Fi情報を設定すれば稼働可能です。(約700字)
拡張・運用上の注意(追加情報)
- センサーキャリブレーション:土壌の種類で読み値が変わるため、乾燥時/飽和時の基準値をとってマッピングすることを推奨。
- 電源と駆動回路:ポンプはモータ負荷になるため、リレーまたはMOSFET+フライバックダイオード等で安全に駆動。ESPのGNDと電源GNDは共通化する必要あり。
- ESP8266のADC制限:多くのESP8266開発ボードはADC入力が0–1Vに限定。センサーの出力が範囲外なら分圧や専用ADCの使用を検討。
- 追加機能案:データロギング(Blynkや外部サービスへ送る)、スケジュール給水、MQTT連携、OTA更新、停電後のリカバリ処理など。
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- hardware.png: file
README抜粋から分かる設定とピン配置:
- Blynk仮想ピン:V0(水分%表示)、V1(Manual)、V2(Auto)、V3(閾値)
- LCD:I2Cアドレス0x27、16x2表示
- 安全タイマー:10分で強制停止
- ヒステリシス:+3%
まとめ
シンプルで学習に適したESP8266×Blynkの灌水プロジェクト。拡張や改良がしやすい設計です。(約50字)
リポジトリ情報:
- 名前: ESP8266-Blynk-Irrigation-system
- 説明: IoT project for automatic plant watering using ESP8266, Blynk platform, and a moisture sensor. Includes Manual/Auto modes and a 10-minute safety timer.
- スター数: 3
- 言語: null
- URL: https://github.com/saritsadee-sriwises/ESP8266-Blynk-Irrigation-system
- オーナー: saritsadee-sriwises
- アバター: https://avatars.githubusercontent.com/u/240150469?v=4