Phần 2: Kết nối cảm biến DHT22 với ESP32
1. Giới thiệu về cách kết nối DHT22 với ESP32 - sơ đồ kết nối, 2. Cách đấu dây - hướng dẫn chi tiết cách nối dây, 3. Thực hành lập trình cơ bản với ESP32 - viết mã để đọc dữ liệu từ DHT22, 4. Kiểm tra hoạt động của DHT22 - hướng dẫn cách kiểm tra và hiển thị dữ liệu nhiệt độ trên Serial Monitor.
Phần 2: Kết nối cảm biến DHT22 với ESP32
1. Giới thiệu về cách kết nối DHT22 với ESP32
Cảm biến DHT22 là một thiết bị phổ biến dùng để đo nhiệt độ và độ ẩm. Nó có khả năng cung cấp dữ liệu chính xác và có thể dễ dàng kết nối với ESP32. Trong phần này, chúng ta sẽ tìm hiểu cách kết nối DHT22 với ESP32 để bắt đầu thu thập dữ liệu.
2. Sơ đồ kết nối
Dưới đây là sơ đồ kết nối giữa DHT22 và ESP32:
ESP32 DHT22
-----------------
3V3 ---> VCC
GND ---> GND
GPIO 23 ---> DATA
Trong sơ đồ trên, chúng ta sẽ sử dụng chân GPIO 23 của ESP32 để kết nối với chân DATA của DHT22. Cung cấp nguồn cho cảm biến từ chân 3V3 và kết nối GND của cảm biến với GND của ESP32.
3. Cách đấu dây - hướng dẫn chi tiết cách nối dây
Để thực hiện kết nối, bạn cần chuẩn bị các linh kiện sau:
- Cảm biến DHT22
- ESP32
- Dây nối (jumper wires)
- Breadboard (nếu cần)
Các bước đấu dây cụ thể như sau:
- Bước 1: Kết nối chân VCC của DHT22 với chân 3V3 của ESP32.
- Bước 2: Kết nối chân GND của DHT22 với chân GND của ESP32.
- Bước 3: Kết nối chân DATA của DHT22 với chân GPIO 23 của ESP32.
Tip: Đảm bảo rằng các kết nối đều chắc chắn để tránh mất tín hiệu trong quá trình hoạt động.
4. Thực hành lập trình cơ bản với ESP32
Để đọc dữ liệu từ DHT22, chúng ta cần sử dụng thư viện DHT. Trước tiên, hãy chắc chắn rằng bạn đã cài đặt thư viện này trong Arduino IDE. Bạn có thể cài đặt bằng cách vào Sketch > Include Library > Manage Libraries... và tìm kiếm "DHT sensor library".
Dưới đây là mã nguồn mẫu để đọc dữ liệu từ DHT22:
#include "DHT.h"
#define DHTPIN 23 // Chân DATA kết nối với GPIO 23
#define DHTTYPE DHT22 // Chọn loại cảm biến DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin(); // Khởi động cảm biến DHT22
}
void loop() {
delay(2000); // Đợi 2 giây giữa các lần đọc dữ liệu
float h = dht.readHumidity(); // Đọc độ ẩm
float t = dht.readTemperature(); // Đọc nhiệt độ
// Kiểm tra xem có lỗi trong việc đọc dữ liệu không
if (isnan(h) || isnan(t)) {
Serial.println("Không thể đọc dữ liệu từ cảm biến DHT!");
return;
}
// Hiển thị dữ liệu lên Serial Monitor
Serial.print("Nhiệt độ: ");
Serial.print(t);
Serial.print(" °C, Độ ẩm: ");
Serial.print(h);
Serial.println(" %");
}
Mã nguồn trên sẽ đọc nhiệt độ và độ ẩm từ DHT22 và hiển thị trên Serial Monitor.
5. Kiểm tra hoạt động của DHT22
Để kiểm tra hoạt động của cảm biến DHT22, bạn thực hiện các bước sau:
- Mở Arduino IDE và tải mã nguồn lên ESP32.
- Mở Serial Monitor bằng cách vào Tools > Serial Monitor hoặc nhấn Ctrl + Shift + M.
- Đảm bảo rằng tốc độ baud rate là 115200.
- Nhấn nút Reset trên ESP32 nếu cần thiết.
- Quan sát dữ liệu nhiệt độ và độ ẩm hiển thị trên Serial Monitor.
Chú ý: Nếu bạn thấy thông báo "Không thể đọc dữ liệu từ cảm biến DHT!", hãy kiểm tra lại các kết nối dây và đảm bảo cảm biến đã được cấp nguồn đúng cách.
Kết luận
Trong phần này, chúng ta đã hoàn thành việc kết nối cảm biến DHT22 với ESP32 và viết mã để đọc dữ liệu nhiệt độ và độ ẩm. Ở phần tiếp theo, chúng ta sẽ tìm hiểu cách gửi dữ liệu này qua Cloud MQTT broker và hiển thị trên dashboard real-time. Hãy chuẩn bị sẵn sàng cho những bước tiếp theo thú vị!
