Cảm Biến Nhiệt Độ Và Ứng Dụng Trên Arduino

Cảm biến nhiệt độ là một trong những linh kiện phổ biến trong các hệ thống giám sát và điều khiển tự động. Trong bài viết này, chúng ta sẽ tìm hiểu về các loại cảm biến nhiệt độ và cách kết nối với Arduino để đo nhiệt độ thực tế.


1. Cảm biến nhiệt độ là gì?

🔹 Cảm biến nhiệt độ là thiết bị đo nhiệt độ môi trườngchuyển đổi thành tín hiệu điện để vi điều khiển có thể đọc được.

🔹 Ứng dụng phổ biến:
✔ Đo nhiệt độ môi trường trong nhà và ngoài trời
✔ Giám sát nhiệt độ trong công nghiệp
✔ Điều khiển quạt, điều hòa không khí, cảnh báo nhiệt độ cao


2. Các loại cảm biến nhiệt độ phổ biến

Loại cảm biếnPhạm vi đo (°C)Tín hiệu đầu raĐộ chính xác
DHT110 – 50°CKỹ thuật số±2°C
DHT22 (AM2302)-40 – 80°CKỹ thuật số±0.5°C
LM35-55 – 150°CAnalog±0.5°C
DS18B20-55 – 125°C1-Wire±0.5°C

💡 DHT11 và DHT22 là cảm biến kỹ thuật số, dễ sử dụng nhưng DHT22 có độ chính xác cao hơn.
💡 LM35 là cảm biến analog, cho giá trị điện áp tỷ lệ với nhiệt độ.
💡 DS18B20 sử dụng giao thức 1-Wire, có thể đọc nhiều cảm biến cùng lúc trên một dây tín hiệu.


3. Kết nối cảm biến nhiệt độ với Arduino

a) Kết nối DHT11/DHT22 với Arduino

Chân DHT11/DHT22Kết nối Arduino
VCC (Chân 1)5V
Data (Chân 2)Chân 2
GND (Chân 4)GND

💡 Lưu ý: DHT11/DHT22 cần điện trở 10KΩ giữa chân VCC và Data để hoạt động ổn định.

b) Kết nối LM35 với Arduino

Chân LM35Kết nối Arduino
VCC5V
OUTA0
GNDGND

💡 LM35 xuất tín hiệu điện áp tuyến tính, 10mV tương ứng với 1°C.

c) Kết nối DS18B20 với Arduino

Chân DS18B20Kết nối Arduino
VCC5V
DataChân 2
GNDGND

💡 DS18B20 cũng cần điện trở 4.7KΩ giữa VCC và Data để hoạt động đúng.


4. Lập trình đo nhiệt độ với Arduino

a) Code đo nhiệt độ với DHT11/DHT22

Cài đặt thư viện:
1️⃣ Mở Arduino IDE, vào Sketch → Include Library → Manage Libraries
2️⃣ Tìm DHT sensor library và cài đặt


<!-- Thư viện DHT -->
#include < DHT.h >

#define DHTPIN 2      // Chân kết nối cảm biến
#define DHTTYPE DHT11 // Đổi thành DHT22 nếu dùng DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float temp = dht.readTemperature(); // Đọc nhiệt độ
  Serial.print("Nhiệt độ: ");
  Serial.print(temp);
  Serial.println(" °C");
  delay(2000);
}
  


b) Code đo nhiệt độ với LM35


#define LM35 A0 // Cảm biến LM35 nối chân A0

void setup() {
  Serial.begin(9600);
}

void loop() {
  int raw = analogRead(LM35);
  float temp = (raw * 5.0 * 100.0) / 1024.0; // Chuyển đổi giá trị ADC thành độ C
  Serial.print("Nhiệt độ: ");
  Serial.print(temp);
  Serial.println(" °C");
  delay(1000);
}
  


c) Code đo nhiệt độ với DS18B20

Cài đặt thư viện:
1️⃣ Cài OneWireDallasTemperature từ Arduino Library Manager


#include  < OneWire.h  >
#include < DallasTemperature.h  >

#define ONE_WIRE_BUS 2 // DS18B20 nối chân số 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  float temp = sensors.getTempCByIndex(0);
  Serial.print("Nhiệt độ: ");
  Serial.print(temp);
  Serial.println(" °C");
  delay(2000);
}
  


5. Ứng dụng mở rộng của cảm biến nhiệt độ

Điều khiển quạt hoặc máy lạnh tự động
Giám sát nhiệt độ trong tủ lạnh, nhà kính
Hệ thống cảnh báo nhiệt độ cao bằng còi hoặc màn hình LCD
Lưu trữ dữ liệu nhiệt độ vào thẻ SD hoặc gửi lên IoT


6. Kết luận

Bạn đã học cách kết nối và lập trình cảm biến nhiệt độ trên Arduino. Trong bài tiếp theo, chúng ta sẽ tìm hiểu về cảm biến ánh sáng và cách ứng dụng nó! 🚀

👉 Bạn đã thử đo nhiệt độ bằng Arduino chưa? Nếu gặp lỗi, hãy để lại bình luận để được hỗ trợ nhé! 🎯

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chat Ngay