Cảm biến độ ẩm với Arduino
Dự án này mang đến cơ hội hoàn hảo để nâng cao kỹ năng và hiểu biết của bạn về các hệ thống dựa trên Arduino.
Nồng độ hơi nước có trong không khí được gọi là độ ẩm, ở dạng khí của nước và do đó không thể nhìn thấy bằng mắt thường. Độ ẩm phụ thuộc vào nhiệt độ và áp suất trong không khí. Một thiết bị cảm biến lượng hơi nước có trong không khí được gọi là cảm biến độ ẩm. Nó chuyển đổi các phát hiện thành tín hiệu điện theo giá trị đo được. Nó được chia thành hai loại tùy thuộc vào phương pháp đo là RH (cảm biến độ ẩm tương đối) và AH (cảm biến độ ẩm tuyệt đối).
Độ ẩm là một yếu tố quan trọng đối với môi trường vì độ ẩm ảnh hưởng trực tiếp đến nhiệt độ. Độ ẩm càng cao thì cảm giác càng ấm. Các ngành công nghiệp cần kiểm tra hiệu quả mức độ ẩm vì nó có thể ảnh hưởng đến sức khỏe và sự an toàn của nhân viên làm việc và chất lượng sản phẩm, ảnh hưởng trực tiếp đến chi phí.
Một mạch cảm biến độ ẩm sử dụng Arduino có thể được xây dựng bằng một vài thành phần. Giải thích hoạt động và mã nguồn được đưa ra bên dưới.
Yêu cầu về phần cứng:
Phần cứng cần thiết để xây dựng một mạch điện dễ dàng và tiết kiệm chi phí như sau:
Sơ đồ mạch điện:
Thiết bị đo độ ẩm sử dụng Arduino
Xây dựng & Làm việc:
Ở đây chúng tôi đã sử dụng một bo mạch Arduino UNO và một cảm biến độ ẩm DHT22. Pin1 của cảm biến được kết nối với +5V trong khi pin4 được kết nối với GND (đất). Pin2 của cảm biến là chân dữ liệu có thể được kết nối với bất kỳ chân kỹ thuật số nào của bộ điều khiển. Một điện trở 10K được kết nối giữa pin2 và pin1 của cảm biến.
Khi thiết bị được cấp nguồn, cảm biến sử dụng cảm biến độ ẩm điện dung và nhiệt điện trở để cảm nhận nhiệt độ và độ ẩm của không khí. Sự thay đổi độ ẩm gây ra sự thay đổi điện dung trong khi sự thay đổi điện trở xảy ra do sự thay đổi nhiệt độ sau đó được chuyển thành giá trị kỹ thuật số sau khi được IC xử lý. Bộ điều khiển nhận tín hiệu tại chân dữ liệu của nó và hiển thị các giá trị trên LCD hoặc màn hình nối tiếp.
LƯU Ý: Nếu sử dụng bo mạch có logic 3,3V như Arduino Due, hãy kết nối chân 1 với 3,3V thay vì 5V!
Mã nguồn:
Mã Arduino để in giá trị độ ẩm và nhiệt độ trên màn hình nối tiếp. Cảm biến có thể được sử dụng để điều khiển nhiều thiết bị ngoại vi điện tử khác nhau.
#include “DHT.h”
#define DHTPIN 2 // what pin we’re connected to
// Uncomment whatever type you’re using!
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302)
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors. This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println(“DHTxx test!”);
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// 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!”);
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);
Serial.println(” *F”);
}
Ứng dụng & Công dụng:
Đo độ ẩm là một yếu tố quan trọng đối với môi trường của chúng ta và do đó có thể áp dụng theo những cách sau:
- Đây là một khía cạnh quan trọng của việc theo dõi khí hậu vì nó giúp phát hiện nhiệt độ không khí cũng như độ ẩm có trong không khí.
- Trong công nghiệp, độ ẩm ảnh hưởng đến chất lượng sản phẩm, do đó cần phải chú ý đến độ ẩm.
- Mức độ ẩm ảnh hưởng đến hiệu suất của các sản phẩm có khả năng thích ứng nhất định với môi trường và việc đo độ ẩm cho các sản phẩm như vậy cũng rất quan trọng.
- Đo độ ẩm rất quan trọng đối với mọi loại ngành công nghiệp và môi trường và đóng vai trò chủ chốt trong nhiều ứng dụng.