Lập Trình Arduino Cơ Bản → Cảm Biến Nhiệt độ Và độ ẩm DHT11
Có thể bạn quan tâm
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 nên 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 sensor DHT11 ta cần cài đặt thêm 2 thư viện. Bạn có thể cài đặt thêm thư viện trực tiếp trong Libraries manager hoặc download từ link.
Đầu tiên là Adafruit_Sensor: https://github.com/adafruit/Adafruit_Sensor
Sau đó là thư viện DHT: https://github.com/adafruit/DHT-sensor-library
Đoạn code thực hiện công việc:
/** * Example for reading temperature and humidity * using the DHT22 and ESP8266 * * Copyright (c) 2016 Losant IoT. All rights reserved. * https://www.losant.com */ #include "DHT.h" #define DHTPIN 14 // what digital pin the DHT sensor is conected to #define DHTTYPE DHT11 // there are multiple kinds of DHT sensors DHT dht(DHTPIN, DHTTYPE, 15); void setup() { Serial.begin(9600); Serial.setTimeout(2000); // Wait for serial to initialize. while(!Serial) { } Serial.println("Device Started"); Serial.println("-------------------------------------"); Serial.println("Running DHT!"); Serial.println("-------------------------------------"); } int timeSinceLastRead = 0; void loop() { // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Failed to read from DHT sensor!"); timeSinceLastRead = 0; return; } // Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, h); // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("Heat index: "); Serial.print(hic); Serial.print(" *C "); Serial.print(hif); delay(2000); }Dòng 1: khai báo với hệ thống là trong chương trình ta có sử dụng thư viện DHT của Adafruit.
Dòng 3: do ở đây ta sử dụng cổng Digital 0 trên Node Wifi nên pin sử dụng là 14 để điều khiển module DHT11, vì vậy ta đặt một hằng số với tên gọi DHTPIN có giá trị là 14. Ta cũng khai báo loại DHT là DHT11 ở dòng kế tiếp. Có nhiều loại cảm biến khác nhau trong dòng DHT như DHT22 hay DHT21.
Dòng 5: khai báo đối tượng DHT, ta cần khai báo pin và loại DHT bằng các hằng số đã khai báo ở trên.
Trong hàm setup, ta cần khởi tạo đối tượng Serial để sử dụng in ra giá trị đọc được từ cảm biến trong hàm loop.
Trong hàm loop, ta lần lượt đọc các giá trị độ ẩm, nhiệt độ (độ C) và nhiệt độ (độ F) và in ra cửa sổ Serial.
Tiến hành biên dịch và upload code lên Arduino. Lúc này, bạn sẽ thấy các giá trị đọc được từ cảm biến sẽ được in ra trong cửa sổ Serial. Bạn thử thổi liên tục vào cảm biến hoặc dùng bật lửa làm cho không khí xung quanh cảm biến nóng lên. Sau đó, bạn có thể quan sát sự thay đổi cả về nhiệt độ và độ ẩm.
Bài tập mở rộng với cảm biến nhiệt độ arduino DHT
Bạn 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,
Trên đây, OhStem đã hướng dẫn bạn cách sử dụng cảm biết nhiệt độ DHT. Bạn đã làm quen được với nó chưa? Nếu có bất kỳ thắc mắc gì, bạn có thể liên hệ với chúng tôi qua Fanpage để được hỗ trợ và giải đáp nhé.
Bây giờ, chúng ta cùng chuyển sang làm quen với những thiết bị điện tử khác trong Arduino nào.
Từ khóa » Cảm Biến Nhiệt độ Và độ ẩm Dht11 Arduino
-
Đọc Nhiệt độ - độ ẩm Và Xuất Ra Màn Hình LCD
-
Đọc Nhiệt độ, độ ẩm (DHT11) Sử Dụng Arduino Uno
-
HƯỚNG DẪN SỬ DỤNG CẢM BIẾN DHT11 VÀ ARDUINO HIỂN THỊ ...
-
Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 - ĐIỆN TỬ TƯƠNG LAI
-
DHT11 Giao Tiếp Arduino, Cảm Biến Nhiệt độ, độ ẩm + LCD1602 + ...
-
Module Cảm Biến Nhiệt độ Và độ ẩm DHT11 - Module Arduino
-
Lập Trình Giao Tiếp Cảm Biến DHT Với Board Mạch Arduino - Góc Học IT
-
Đọc Nhiệt độ, độ ẩm (DHT11) Sử Dụng Arduino Uno
-
Đo Nhiệt Độ Và Độ Ẩm Bằng Cảm Biến DHT11 Và Arduino Uno R3
-
Hướng Dẫn Sử Dụng Cảm Biến Nhiệt độ - độ ẩm DHT11
-
Dht11 Giá Tốt Tháng 7, 2022 | Mua Ngay | Shopee Việt Nam
-
Mô-Đun Cảm Biến Nhiệt Độ Ẩm Dht11 Cho Arduino Diy Có Đèn LED
-
Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 Trường An Equipment
-
Đọc Nhiệt độ, độ ẩm (DHT11) Sử Dụng Arduino Uno - Chickgolden