ESP32 DHT11

Hướng dẫn này sẽ chỉ bạn cách sử dụng ESP32 để đọc giá trị nhiệt độ và độ ẩm từ cảm biến DHT11, và hiển thị kết quả trên Serial Monitor. Hướng dẫn cung cấp các chỉ dẫn cho cả cảm biến DHT11 thô và module DHT11.

Linh Kiện Cần Thiết

1×mô-đun phát triển ESP-WROOM-32
1×Alternatively, ESP32 Uno-form board
1×Alternatively, ESP32 S3 Uno-form board
1×Cáp USB Type-C
1×Module Cảm Biến Nhiệt Độ Độ Ẩm DHT11
1×Điện trở 10 kΩ
1×breadboard
1×Dây Jumper
1×DC Power Jack (Tùy chọn)
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP32
1×(Khuyến nghị) Breakout Expansion Board for ESP32
1×(Khuyến nghị) Power Splitter for ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Giới Thiệu Về Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11

DHT11
Dải đo độ ẩm 20% đến 80%
Độ chính xác độ ẩm 5%
Dải đo nhiệt độ 0°C đến 50°C
Độ chính xác nhiệt độ ± 2°C
Tốc độ đọc 1Hz (một lần mỗi giây)
Điện áp hoạt động3 đến 5V

Sơ Đồ Chân DHT11

DHT11 có hai dạng: cảm biến thô và module:

dht11 sensor module sơ đồ chân

Cảm biến DHT11 có 4 chân:

  • Chân GND: kết nối chân này với GND (0V)
  • Chân VCC: kết nối chân này với VCC (3.3V hoặc 5V)
  • Chân DATA: chân này được sử dụng để giao tiếp giữa cảm biến và ESP32
  • Chân NC: Không kết nối

Chúng tôi khuyên bạn nên sử dụng module DHT11. Các module có điện trở tích hợp sẵn và chỉ có ba chân: chân VCC, GND, và DATA (hoặc có thể là: +, -, và OUT).

Sơ Đồ Đấu Nối Giữa DHT11 Và ESP32

Sơ Đồ Đấu Nối ESP32 - Cảm Biến DHT11

Để kết nối cảm biến DHT11 với ESP32, hãy sử dụng một điện trở từ 5K đến 10K Ohms. Điện trở này giữ đường dữ liệu ở mức cao, đảm bảo giao tiếp tốt giữa cảm biến và ESP32. Chúng ta cần sử dụng breadboard trong trường hợp này.

ESP32 dht11 temperature and humidity sensor sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

Nếu bạn chưa rõ cách cấp nguồn cho ESP32 và các linh kiện khác, xem: Cách Cung Cấp Nguồn Điện Cho ESP32.

Sơ Đồ Đấu Nối ESP32 - Module DHT11

Hầu hết các module cảm biến DHT11 đều có điện trở tích hợp sẵn, vì vậy bạn không cần thêm điện trở khác. Điều này giúp đơn giản hóa quá trình đấu nối hoặc hàn.

  • Cách kết nối ESP32 và module nhiệt độ độ ẩm DHT11 sử dụng breadboard
ESP32 dht11 temperature and humidity module sơ đồ đấu dây

This image is created using Fritzing. Click to enlarge image

how to connect ESP32 and dht11 temperature humidity sensor

Mã ESP32 - DHT11

/* * Mã ESP32 này được phát triển bởi newbiely.vn * Mã ESP32 này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp32/esp32-dht11 */ #include <DHT.h> #define DHT11_PIN 21 // ESP32 pin GPIO21 connected to DHT11 sensor DHT dht11(DHT11_PIN, DHT11); void setup() { Serial.begin(9600); dht11.begin(); // initialize the DHT11 sensor } void loop() { // read humidity float humi = dht11.readHumidity(); // read temperature in Celsius float tempC = dht11.readTemperature(); // read temperature in Fahrenheit float tempF = dht11.readTemperature(true); // check whether the reading is successful or not if ( isnan(tempC) || isnan(tempF) || isnan(humi)) { Serial.println("Failed to read from DHT11 sensor!"); } else { Serial.print("Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); } // wait a 2 seconds between readings delay(2000); }

Các Bước Thực Hiện

  • Nếu đây là lần đầu tiên bạn sử dụng ESP32, hãy xem ESP32 - Cài Đặt Phần Mềm.
  • Thực hiện đấu nối như hình ảnh trên.
  • Kết nối bo mạch ESP32 với PC qua cáp micro USB
  • Mở Arduino IDE trên PC của bạn.
  • Chọn đúng bo mạch ESP32 (ví dụ: ESP32 Dev Module) và cổng COM.
  • Nhấp vào biểu tượng Libraries trên thanh bên trái của Arduino IDE.
  • "DHT" trong ô tìm kiếm, sau đó tìm thư viện DHT sensor của Adafruit
  • Cài đặt thư viện bằng cách nhấp nút Install.
ESP32 dht sensor thư viện
  • Một cửa sổ xuất hiện yêu cầu bạn cài đặt các phụ thuộc cho thư viện
  • Cài đặt tất cả phụ thuộc cho thư viện bằng cách nhấp nút Install All.
ESP32 adafruit unified sensor thư viện
  • Sao chép một trong các đoạn mã trên và mở bằng Arduino IDE
  • Biên dịch và upload mã lên bo mạch ESP32 bằng cách nhấp nút Upload trên Arduino IDE
  • Làm cho cảm biến lạnh hơn hoặc nóng hơn. Ví dụ, đặt cảm biến gần một tách cà phê nóng
  • Xem kết quả trên Serial Monitor. Nó sẽ trông như sau:
COM6
Send
Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.

Bình Luận