ESP32チュートリアル 35/55 - 植物モニター、土壌、温度と光 | SunFounderのESP32 IoT学習キット
このチュートリアルでは、SunFounder ESP32 IoT Learning Kit の ESP32 マイクロコントローラーを使用して植物モニターを構築します。このプロジェクトは、土壌の水分、温度、湿度、光のレベルを監視するためにいくつかのコンポーネントを組み合わせています。このガイドの最後には、植物ケアのためにこれらの重要なパラメーターを管理および表示できる完全なシステムが完成します。詳細なビジュアル説明については、動画(動画の 00:00 にて)をぜひチェックしてください。
ESP32-25_植物モニター_回路図
ハードウェアの説明
このプロジェクトで使用される主なコンポーネントには、ESP32マイクロコントローラー、DHT11センサー、土壌水分センサー、光依存抵抗器(LDR)、およびデータを表示するためのLCDが含まれています。ESP32は、データ処理と制御タスクを処理するセットアップの中核を担っています。内蔵のWi-FiとBluetoothを備えており、リモートモニタリングのための接続オプションを提供します。
フォトレジスタ
DHT11モジュール
DHT11センサーは温度と湿度を測定し、土壌水分センサーは土壌内の水分レベルを検出します。LDRは周囲の光の強度を測定し、植物の照明条件に関する洞察を提供します。各コンポーネントは、リアルタイムデータを提供することで植物の健康を確保する上で重要な役割を果たしています。
データシートの詳細
| メーカー |
サンファウンダー |
| 部品番号 |
DHT11 |
| ロジック/IO電圧 |
3.3 V |
| 供給電圧 |
5 V |
| 出力電流(チャンネルあたり) |
20 mA |
| ピーク電流(チャネルあたり) |
50 mA |
| PWM周波数のガイダンス |
N/A |
| 入力論理閾値 |
0.3 VCC(低)、0.7 VCC(高) |
| 電圧降下 / RDS(on)/ サチュレーション |
N/A |
| 熱的限界 |
0°Cから50°C |
| パッケージ |
ディップ |
| ノート / バリアント |
DHT22と互換性があります |
- 各コンポーネントに対して適切な電圧レベルを確保してください(モータードライバーは5V、センサーは3.3V)。
- プッシュボタンにはプルダウン抵抗を使用して、フローティング入力を防ぎます。
- 配線はきちんと整理して、混乱や短絡を避けましょう。
- 回路を電源投入する前に接続を確認して、損傷を防ぎます。
- DHT11の配線を確認してください。接続が不適切な場合、敏感です。
配線指示
ESP32-25_plant_moitor_wiringコンポーネントを配線するには、まず電源と接地ラインを接続します。ESP32はリチウムバッテリーで電源を供給し、正極をVCCラインに、接地をブレッドボードのGNDラインに接続します。DHT11センサーのデータピンは接続されます。PIN 13、VCCは3.3Vラインに、GNDはグラウンドに接続されます。土壌水分センサーは同様に接続されます:信号ピンはPIN 14、VCCを3.3Vに、GNDをグラウンドに接続します。
LDRには、1つのピンを3.3Vラインに接続し、もう1つを接続します。PIN 35LDRからグラウンドに接続された10kオームの抵抗があります。LCDディスプレイは5Vラインに接続され、電源として使用します。SDAそしてSCL接続されたピンPIN 21とPIN 22、そして最後に、プッシュボタンを配線してください。PIN 32プルダウン抵抗がグラウンドに接続されているため、押されていないときは低い値を、押されているときは高い値を読み取ることができます。
コード例と手順解説
プログラムの核は、各コンポーネントのピンを定義することから始まります。例えば、DHTPINに割り当てられていますPIN 13DHT11センサーの場合、 WhileMOIS_PIN設定されていますPIN 14湿度センサー用。この組織は、どのセンサーがどのピンに接続されているかを追跡するのに役立ちます。
#define DHTPIN 13 // Set the pin connected to the DHT11 data pin
#define MOIS_PIN 14 // Soil moisture module
#define LIGHT_PIN 35 // Photoresistor
次に、DHTセンサーとLCDディスプレイを初期化します。setup()関数。これは、これらのコンポーネントを操作のために準備するために重要です。必ず呼び出すことを確認してください。dht.begin()DHTセンサーが値を正しく読み始めるために不可欠です。
void setup() {
Serial.begin(115200);
dht.begin(); // Initialize the DHT11
lcd.init(); // Initialize the LCD
lcd.backlight();
}
In theloop()機能として、私たちは温度と湿度の値を継続的に読み取り、それをLCDに表示します。ボタンが押されると、モーターが作動して植物に水を与えます。このロジックは、ボタンピンのデジタル読み取りを使用して、モーターをオンまたはオフにするかを判断します。
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (digitalRead(BUTTON) == HIGH) {
digitalWrite(motor1A, HIGH); // Turn on water pump
} else {
digitalWrite(motor1A, LOW); // Turn off water pump
}
delay(2000);
}
このコード構造はデータと制御の明確なフローを可能にし、プラントモニターがスムーズに機能することを保証します。詳細については、完全なコードが記事の下に読み込まれます。
デモンストレーション / 期待すること
セットアップの完了とコードのアップロードが完了すると、LCDは温度と湿度の読み取り値を交互に表示し、土壌の湿度と光のレベルを示します。押しボタンが押されると、水ポンプが作動し、植物に水が供給されます。浮遊入力や不正確な読み取りなどの問題を避けるために、すべての接続が確実であることを確認してください(ビデオの05:30にて)。
LCDとシリアルモニターに表示される値を監視することで、システムが正しく機能していることを確認できます。問題が発生した場合は、配線を再確認し、すべてのコンポーネントに適切に電源が供給されていることを確認してください。
動画のタイムスタンプ
- 00:00 開始
- 2:23 プロジェクト紹介
- 4:02 ドキュメントページ
- 7:43 1-L293D ポンプモータードライバー
- 14:30 ポンプのための2つのボタンを押してください
- 16:35 3-DHT11 温度および湿度センサー
- 19:26 4スライド湿度センサー
- 21:43 5灯センサー
- 24:47 6-土壌水分センサー
- 26:01 フルプラントモニターArduinoコード
- 29:21 デモンストレーション
画像
DHT11 Module
5V DC water pump
soil_mositure_module
photoresistor
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_wiring
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_wiring
836-ESP32 Tutorial 35/55- Arduino code for plant monitor
言語: C++