Weather Station với DHT22 + ESP32
Tutorial beginner-friendly: đọc nhiệt độ và độ ẩm, hiển thị lên Serial Monitor và gửi lên web server đơn giản.
Kết nối
DHT22 ESP32
VCC --> 3.3V
GND --> GND
DATA --> GPIO4 (kèm điện trở pull-up 10kΩ lên 3.3V)
Cài thư viện
Trong PlatformIO (platformio.ini):
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps =
DHT sensor library
Adafruit Unified Sensor
Code
#include <Arduino.h>
#include <DHT.h>
DHT dht(4, DHT22);
void setup() {
Serial.begin(115200);
dht.begin();
}
void loop() {
delay(2000);
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Lỗi đọc DHT22!");
return;
}
Serial.printf("Nhiệt độ: %.1f°C | Độ ẩm: %.1f%%\n", t, h);
}
Kết quả
Sau khi upload code và mở Serial Monitor (115200 baud), bạn sẽ thấy:
Nhiệt độ: 28.5°C | Độ ẩm: 72.3%
Nhiệt độ: 28.6°C | Độ ẩm: 72.1%
