Arduino UNO R4 DHT22

Hướng dẫn này sẽ chỉ bạn cách sử dụng Arduino UNO R4 với cảm biến nhiệt độ và độ ẩm DHT22. Cụ thể, chúng ta sẽ học:

Arduino UNO R4 và module cảm biến dht22

Phần Cứng Cần Thiết

1×Arduino UNO R4 WiFi hoặc Arduino UNO R4 Minima
1×(Tùy chọn) DIYables STEM V4 IoT, tương thích với Arduino Uno R4 WiFi
1×Arduino UNO R4 Minima (Thay thế)
1×Cáp USB Type-C
1×Module Cảm Biến Nhiệt Độ Độ Ẩm DHT22
1×Điện trở 10 kΩ
1×breadboard (bo mạch thí nghiệm)
1×Dây nối Jumper
1×(Khuyến nghị) Screw Terminal Block Shield for Arduino UNO R4
1×(Khuyến nghị) Breadboard Shield for Arduino UNO R4
1×(Khuyến nghị) Enclosure for Arduino UNO R4
1×(Khuyến nghị) Power Splitter for Arduino UNO R4
1×(Khuyến nghị) Prototyping Base Plate & Breadboard Kit for Arduino UNO

Or you can buy the following kits:

1×DIYables STEM V4 IoT Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về Cảm Biến Nhiệt Độ và Độ Ẩm DHT22

DHT22
Phạm vi nhiệt độ -40°C đến 80°C
Độ chính xác nhiệt độ ± 0.5°C
Phạm vi độ ẩm 0% đến 100%
Độ chính xác độ ẩm ± 2 đến 5%
Tần số đọc 0.5Hz (một lần mỗi 2 giây)
Điện áp hoạt động3 đến 5V

Sơ Đồ Chân

Có hai loại DHT22: cảm biến và module.

sơ đồ chân cảm biến nhiệt độ và độ ẩm dht22

Cảm biến DHT22 bao gồm bốn chân:

  • Chân GND: kết nối với GND (0V).
  • Chân VCC: kết nối với VCC (5V hoặc 3.3V).
  • Chân DATA: chân này cho phép cảm biến giao tiếp với Arduino UNO R4.
  • Chân NC: chân này không được kết nối và có thể bỏ qua.

Module DHT22 bao gồm ba chân:

  • Chân GND: kết nối với GND (0V)
  • Chân VCC: kết nối với VCC (5V hoặc 3.3V)
  • Chân DATA: dùng để giao tiếp giữa cảm biến và Arduino UNO R4

Một số nhà sản xuất cung cấp cảm biến DHT22 dưới dạng module với ba chân được ghi nhãn GND, VCC, và DATA (hoặc có thể được ghi là -, +, và OUT).

Sơ Đồ Đấu Nối

Sử dụng điện trở từ 5K đến 10K Ohm để duy trì đường dữ liệu ở mức cao và cho phép giao tiếp giữa cảm biến DHT22 và Arduino UNO R4.

Đấu Nối Arduino UNO R4 - Cảm Biến DHT22

sơ đồ đấu nối Arduino UNO R4 với cảm biến nhiệt độ và Độ ẩm dht22

This image is created using Fritzing. Click to enlarge image

Đấu Nối Arduino UNO R4 - Module DHT22

Hầu hết các module cảm biến DHT22 đều có điện trở tích hợp sẵn, vì vậy không cần thêm điện trở. Điều này giúp tiết kiệm một số công việc đấu nối hoặc hàn.

sơ đồ đấu nối Arduino UNO R4 với module nhiệt độ và Độ ẩm dht22

This image is created using Fritzing. Click to enlarge image

Cách Lập Trình Cho Cảm Biến Nhiệt Độ DHT22

Lập trình cho cả cảm biến và module DHT22 đều giống nhau.

  • Thêm thư viện:
#include <DHT.h>
  • Thiết lập chân Arduino UNO R4 kết nối với cảm biến DHT:
#define DHT22_PIN 2
  • Tạo đối tượng cảm biến DHT22
DHT dht22(DHT22_PIN, DHT22);
  • Khởi tạo cảm biến:
dht22.begin();
  • Đọc độ ẩm:
float humi = dht22.readHumidity();
  • Đọc nhiệt độ theo độ C:
float tempC = dht22.readTemperature();
  • Đọc nhiệt độ theo độ F:
float tempF = dht22.readTemperature(true);

Mã Code Arduino UNO R4 - DHT22

/* * Mã Arduino UNO R4 này được phát triển bởi newbiely.vn * Mã Arduino UNO R4 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/arduino-uno-r4/arduino-uno-r4-dht22 */ #include <DHT.h> #define DHT22_PIN 2 // The Arduino UNO R4 pin connected to DHT22 DHT dht22(DHT22_PIN, DHT22); void setup() { Serial.begin(9600); dht22.begin(); // initialize the DHT22 sensor } void loop() { // wait a few seconds between measurements. delay(3000); // read humidity float humidity = dht22.readHumidity(); // read temperature as Celsius float tempC = dht22.readTemperature(); // read temperature as Fahrenheit float tempF = dht22.readTemperature(true); // check if any reads failed if (isnan(humidity) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT22 sensor!"); } else { Serial.print("DHT22# Humidity: "); Serial.print(humidity); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); } }

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

Làm theo hướng dẫn từng bước:

  • Nếu đây là lần đầu bạn sử dụng Arduino Uno R4 WiFi/Minima, hãy tham khảo hướng dẫn về Arduino UNO R4 - Cài Đặt Phần Mềm.
  • Đấu nối các linh kiện theo sơ đồ được cung cấp.
  • Kết nối bo mạch Arduino Uno R4 với máy tính của bạn bằng cáp USB.
  • Khởi động Arduino IDE trên máy tính của bạn.
  • Chọn bo mạch Arduino Uno R4 phù hợp (ví dụ: Arduino Uno R4 WiFi) và cổng COM.
  • Nhấp vào biểu tượng Libraries ở phía bên trái của Arduino IDE.
  • Gõ "DHT" vào ô tìm kiếm và tìm thư viện DHT sensor của Adafruit.
  • Nhấp vào nút Install để thêm thư viện.
thư viện cảm biến dht cho Arduino UNO R4
  • Bạn sẽ cần cài đặt thêm các thư viện phụ thuộc.
  • Nhấp vào nút Install All để cài đặt tất cả các thư viện cần thiết.
thư viện adafruit unified sensor cho Arduino UNO R4
  • Chọn và sao chép mã code cho cảm biến của bạn, sau đó mở trong Arduino IDE.
  • Nhấp vào nút Upload trong Arduino IDE để tải code lên Arduino UNO R4 của bạn.
  • Thay đổi nhiệt độ xung quanh cảm biến bằng cách làm nó nóng hơn hoặc lạnh hơn.
  • Kiểm tra kết quả trên Serial Monitor.
COM6
Send
DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT22# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT22# 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