ESP32 チュートリアル 51/55 - DHT を使用した WiFi 経由の温度と湿度 | SunFounder の ESP32 IoT 学習キット
このチュートリアルでは、SunFounder ESP32を使用してDHT11またはDHT22センサーで温度と湿度を測定する方法を学びます。このプロジェクトでは、Wi-Fiを介してモバイルデバイスやブラウザでセンサーデータを読み取ることができ、ESP32のWebサーバーとしての機能を示します。ESP32のセットアップ、コンポーネントの正しい配線、すべてがスムーズに動作するように必要なコードを書きます(ビデオで00:15)。
esp32-51-dht-wifi
ESP32マイクロコントローラーは、内蔵Wi-FiとBluetoothを備えた強力なデバイスです。これにより、インターネットに接続し、センサーのデータをワイヤレスで送信することができます。DHTセンサーは温度と湿度を測定し、これらはESP32のIPアドレスを介してアクセス可能なウェブページに表示されます。このセットアップは、環境条件を遠隔で監視するのに最適です。
ハードウェアの解説
このプロジェクトでは、以下の主要なコンポーネントを使用します:
- ESP32マイクロコントローラー:これはWi-Fi接続を処理し、センサーデータを表示するウェブサーバーとして機能するプロジェクトの核心です。
- DHT11またはDHT22センサー:これらのセンサーは温度と湿度を測定します。DHT11は基本的なアプリケーションに適しており、DHT22はより高い精度と広い範囲を提供します。
DHTセンサーは、ESP32と単一のデータピンを使用して通信します。温度と湿度の測定値をデジタル形式で送信し、ESP32はそれを簡単に解釈できます。ESP32は、これらの測定値をリアルタイムで表示するウェブページをホストします。
データシートの詳細
| メーカー |
アダフルート |
| 部品番号 |
DHT11/DHT22 |
| ロジック/入出力電圧 |
3.3 V - 5.5 V |
| 供給電圧 |
3.3 V - 5.5 V |
| 出力電流(チャンネルあたり) |
0.5 mA(典型) |
| ピーク電流(チャネルあたり) |
2.5 mA(最大) |
| 応答時間 |
1秒(典型的) |
| 湿度範囲 |
20%から90%の相対湿度 |
| 温度範囲 |
-40°Cから80°C |
| パッケージ |
DIP-4 |
- DHTセンサーがESP32の正しいGPIOピンに接続されていることを確認してください。
- データラインを安定させるためにプルアップ抵抗を使用してください。
- 電源電圧に注意してください。DHT11とDHT22はどちらも3.3Vで正常に動作します。
- 配線を短く保ち、信号劣化を避けてください。
- Arduino IDEでDHTセンサーの正しいライブラリがインストールされているか確認してください。
配線指示書
ESP32-28_dht_temperature-sensor-wiringDHTセンサーをESP32に接続するには、以下のピンを接続してください:
- DHTセンサーVCC:ESP32の3.3Vピンに接続します。
- DHTセンサーGND:ESP32のGNDピンに接続します。
- DHTセンサーデータ:ESP32のGPIO 14に接続します(これはコード内で定義されています)。
DHTPIN).
正しい抵抗(通常4.7kΩ)がVCCとデータピンの間に接続されていることを確認して、信号の整合性を保ってください。DHT22を使用する場合は、単に変更してください。DHTTYPEコードにおいてDHT11へDHT22センサー特性の違いに対応するために。
コード例とウォークスルー
コードでは、必要なライブラリをインクルードし、いくつかの重要な識別子を定義することから始めます。例えば、refreshは3秒に設定されており、これにより温度と湿度の読み取り値がどれくらいの頻度で更新されるかが決まります。
const int refresh=3; // read every 3 seconds
boolean showSerial = true; // true or false
ザshowSerial変数は、読み取り値をシリアルモニタに出力するかどうかを制御することを可能にします。次に、センサーのピンとタイプを定義します。
#define DHTPIN 14 // Set the pin connected to the DHT11 data pin
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
ここでは、DHTオブジェクトが作成され、指定されたピンとセンサーの種類にリンクされます。ウェブ上で温度データを送信するための主要な機能が定義されています。sendTemp():
void sendTemp() {
String page = "\n";
page += "\n";
page += "\n";
page += "\n";
page += "\n";
// Additional HTML content...
}
この機能は、温度と湿度の測定値を表示するHTMLページを生成します。ページは、基にして更新されます。refresh前に定義された間隔。完全なコードの詳細については、記事の下に読み込まれた完全なコードを参照してください。
デモンストレーション / 期待すること
DHT_Wifiブラウザ
ESP32にコードをアップロードした後、シリアルモニターにIPアドレスが表示されるはずです。ウェブブラウザを開いて、IPアドレスを入力すると温度と湿度の読み取り値を表示できます。値は3秒ごとに更新され、リアルタイムのデータを提供します(ビデオの12:30に)。
ESP32とあなたのデバイスが同じWi-Fiネットワークに接続されていることを確認するなど、一般的な落とし穴に注意してください。問題が発生した場合は、配線を確認し、DHTセンサーが正常に機能していることを確かめてください。
動画のタイムスタンプ
- 00:00 開始
- 1:45 DHT Wi-Fiプロジェクトの紹介
- 3:59 ESP32 DHT Wifi用のArduinoコード
- 13:31 Arduino IDEでESP32ボードとCOMポートを選択中
- 15:13 Wifiを介した温度のデモンストレーション
画像
ESP32-28_dht_temperature-sensor-wiring
esp32-51-dht-wifi
DHT_Wifi_browser
ESP32-28_dht_temperature-sensor-wiring
368-ESP32 Tutorial 50/55- Display temperature on Browser screen using DHT11, DHT22 with ESP32
言語: C++