Nội Dung Bài Viết
Cảm biến nhiệt độ LM35 là một loại cảm biến analog rất hay được ứng dụng trong các ứng dụng đo nhiệt độ thời gian thực. Vì nó hoạt động khá chính xác với sai số nhỏ, đồng thời với kích thước nhỏ và giá thành rẻ là một trong những ưu điểm của nó. Vì đây là cảm biến tương tự (analog sensor) nên ta có thể dễ dàng đọc được giá trị của nó bằng hàm analogRead().
Giới thiệu về cảm biến nhiệt độ LM35
- LM35 là một cảm biến nhiệt độ analog
- LM35 không cần phải canh chỉnh nhiệt độ khi sử dụng.
- LM35 thay đổi nhiệt độ nhanh và chính xác.
Nhiệt độ (Celsius) được xác định bằng cách đo hiệu điện thế ngõ ra. LM35 không yêu cầu bất kỳ mạch hiệu chuẩn bên ngoài nào.
Độ nhạy nhiệt độ: 10mv/°C. Khi nhiệt độ tăng, điện áp đầu ra cũng tăng lên. Ví dụ 250 mV nghĩa là 25 °C.
Dãy nhiệt độ đo: -55 °C – 150°C
Sơ đồ chân LM35
- VCC: Nguồn cung cấp (4V-30V)
- Out: Nó cho điện áp đầu ra analog tương ứng với nhiệt độ (ở độ C).
- GND: GND
Application Setup
LM35 kết nối Arduino
Sơ đồ nối chân
LM35 | Arduino |
VCC | 5V |
OUT | A0 |
GND | GND |
Sơ đồ kết nối mô phỏng trên Fritzing
Mô tả hoạt động và cách chuyển đổi điện áp thành nhiệt độ
Cảm biến LM35 hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.
Kết nối LM35 với Arduino như trên. Vì LM35 có độ nhạy nhiệt 10mv/°C nên ta đọc nhiệt độ theo công thức sau:
float temperature = (5V*analogRead(A0)/1024)*100;
Giải thích: phần công thức được in màu xanh là chuyển đổi giá trị analog thành điện áp. Có điện áp rồi chia cho độ nhạy nhiệt 10mv/°C ta được công thức trên. ( nhớ đổi đơn vị ra V).
Chương trình Arduino đọc LM35
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | int sensorPin = A0;// chân analog kết nối tới cảm biến LM35 void setup() { Serial.begin(9600); //Khởi động Serial ở mức baudrate 9600 // Bạn không cần phải pinMode cho các chân analog trƣớc khi dùng nó } void loop() { //đọc giá trị từ cảm biến LM35 int reading = analogRead(sensorPin); //tính ra giá trị hiệu điện thế (đơn vị Volt) từ giá trị cảm biến float voltage = reading * 5.0 / 1024.0; // ở trên mình đã giới thiệu, cứ mỗi 10mV = 1 độ C. // Vì vậy nếu biến voltage là biến lƣu hiệu điện thế (đơn vị Volt) // thì ta chỉ việc nhân voltage cho 100 là ra đƣợc nhiệt độ! float temp = voltage * 100.0; Serial.println(temp); delay(1000); } |
DOWNLOAD FILE
Bài viết các bạn có thể tham khảo:
- Cảm biến khoảng cách HC-SR04 – Cảm biến siêu âm
- Cảm biến dò line – IR Line tracking sensor
- Hướng dẫn đọc cảm biến mưa với Arduino – Rain Sensor