Cảm biến nhiệt độ và độ ẩm DHT11 – sự kết hợp hoàn hảo với Arduino

Bạn đã bao giờ muốn kiểm soát nhiệt độ và độ ẩm trong không gian sống của mình một cách dễ dàng và hiệu quả? Đôi khi, việc giữ cho môi trường xung quanh bạn ổn định và thoải mái không phải là việc dễ dàng. Tuy nhiên, với cảm biến nhiệt độ và độ ẩm DHT11, bạn có thể đạt được mục tiêu đó một cách dễ dàng.

Thiết bị cần chuẩn bị

  • 1 x Node Wifi.
  • 1 x Module cảm biến nhiệt độ và độ ẩm DHT11

Kết nối phần cứng

Module DHT11 sử dụng một chân digital, vì vậy bạn có thể sử dụng cổng Digital 0 để kết nối với module.

Lập trình điều khiển

Để lập trình Arduino điều khiển cảm biến DHT11, bạn cần cài đặt thêm 2 thư viện. Bạn có thể cài đặt thư viện trực tiếp trong Libraries Manager hoặc tải về từ các liên kết dưới đây.

Đầu tiên là Adafruit_Sensor:
Lập trình điều khiển Adafruit_Sensor

Sau đó là thư viện DHT:
Thư viện cho DHT

Đoạn mã dưới đây thực hiện công việc:

/**
 * Example for reading temperature and humidity
 * using the DHT11 and Arduino
 * 
 * Copyright (c) 2016 Losant IoT. All rights reserved.
 * https://www.losant.com
 */

#include "DHT.h"
#define DHTPIN 14 // chân digital kết nối với cảm biến DHT
#define DHTTYPE DHT11 // định dạng cảm biến DHT (DHT11, DHT22, hoặc DHT21)

DHT dht(DHTPIN, DHTTYPE, 15);

void setup() {
  Serial.begin(9600);
  Serial.setTimeout(2000);

  while(!Serial) { }

  Serial.println("Device Started");
  Serial.println("-");
  Serial.println("Running DHT!");
  Serial.println("-");
}

int timeSinceLastRead = 0;

void loop() {
  float h = dht.readHumidity(); // Đọc độ ẩm
  float t = dht.readTemperature(); // Đọc nhiệt độ định dạng Celsius
  float f = dht.readTemperature(true); // Đọc nhiệt độ định dạng Fahrenheit

  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    timeSinceLastRead = 0;
    return;
  }

  float hif = dht.computeHeatIndex(f, h); // Tính chỉ số nhiệt độ (Fahrenheit)
  float hic = dht.computeHeatIndex(t, h, false); // Tính chỉ số nhiệt độ (Celsius)

  Serial.print("Độ ẩm: ");
  Serial.print(h);
  Serial.print("%t");
  Serial.print("Nhiệt độ: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *Ft");
  Serial.print("Chỉ số nhiệt độ: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);

  delay(2000);
}

Việc thực hiện mã và tải nó lên Arduino rất đơn giản. Bây giờ, các giá trị đọc được từ cảm biến sẽ được hiển thị trong cửa sổ Serial. Bạn có thể thổi liên tục vào cảm biến hoặc sử dụng bật lửa để làm cho không khí xung quanh cảm biến trở nên nóng hơn. Sau đó, bạn có thể quan sát sự thay đổi của nhiệt độ và độ ẩm.

Bài tập mở rộng với cảm biến nhiệt độ Arduino DHT

Hãy lập trình cho Arduino đọc nhiệt độ và độ ẩm và hiển thị lên màn hình Oled.

Tổng kết

Vậy là bạn đã được hướng dẫn cách sử dụng cảm biến nhiệt độ DHT11. Bạn đã làm quen với nó chưa? Nếu có bất kỳ thắc mắc nào, hãy liên hệ với chúng tôi qua trang Fanpage để được hỗ trợ và giải đáp.

Bây giờ, chúng ta hãy tiếp tục khám phá những thiết bị điện tử khác trong Arduino nhé.