Đo nhiệt độ bằng Cảm biến LM35 sử dụng Arduino Uno

Đo nhiệt độ bằng Cảm biến LM35 sử dụng Arduino Uno

Hôm nay chúng ta sẽ cùng nhau tìm hiểu về cách sử dụng cảm biến nhiệt độ LM35.

Cảm biến có ưu điểm hoạt động khá chính xác và ít sai số đồng thời kích thước nhỏ, giá thành thấp nên được sử dụng rất nhiều trong các ứng dụng đo nhiệt độ thời gian thực.

Qua bài viết này, các bạn sẽ tìm hiểu thêm một hàm mới là analogRead().

Cảm biến nhiệt độ LM35

  • LM35 là một cảm biến nhiệt độ Analog (A0 đến A5 trên board Arduino Uno).
  • 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.
cảm biến nhiệt độ LM35

Cảm biến nhiệt độ LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius.                            

Thông số kỹ thuật của cảm biến:

  • Điện áp hoạt động: 4-20V DC.
  • Công suất tiêu thụ: 60uA.
  • Khoảng đo nhiệt độ: -55°C đến 150°C.
  • Nhiệt độ thay đổi tuyến tính: 10mV/°C.
  • Độ chính xác thực tế: 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng 2°C tới 150°C.

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 độ.

Sơ đồ đấu nối

Arduino Uno Cảm biến nhiệt độ LM35
VCC +Vs (4 – 20V)
GND GND
A0 VOUT
Sơ đồ nguyên lý lm35 với arduino uno

Các linh kiện cần thiết cho dự án

Tên linh kiện Số lượng Shopee
Arduino Uno R3 1 Mua ngay
Dây cáp nạp 1 Mua ngay
Cảm biến nhiệt LM35 1 Mua ngay
Breadboard (Bo test) 1 Mua ngay
Dây cắm (Đực – Đực) 1 Mua ngay

Bạn sẽ học được gì

  • Có kiến thức cơ bản về Robotics
  • Chế tạo Robot dò đường thông minh
  • Đánh thức nhà khoa học bên trong bạn
  • Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
  • Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
  • Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế

KHÓA HỌC
CHẾ TẠO ROBOT DÒ ĐƯỜNG

Đã có 284 học viên đăng ký

Code mẫu

int sensorPin = A0;
void setup()
{
   Serial.begin(9600);
}
void loop()
{
  int reading = analogRead(sensorPin);  
  float voltage = reading * 5.0 / 1024.0;
  float temp = voltage * 100.0;
  Serial.println(temp);
  delay(1000);
}

Giải thích Code

reading = analogRead(sensorPin);


Hàm analogRead() có nhiệm vụ đọc giá trị điện áp từ một chân Analog (ADC), hàm này luôn trả về 1 số nguyên nằm trong khoảng từ 0 đến 1023 tương ứng với thang điện áp (mặc định) từ 0 đến 5V. Hàm analogRead() cần 100 micro giây để thực hiện.

Vậy reading = analogRead(sensorPin) có nghĩa là đọc giá trị điện áp từ cảm biến nhiệt độ LM35.

float voltage = reading * 5.0 / 1024.0;

Công thức tính ra giá trị hiệu điện thế từ giá trị cảm biến (đơn vị Volt) Voltage = giá trị điện áp từ cảm biến chia cho mức analog cao nhất (1024)  rồi nhân với mức điện áp 5V.

Như ở trên ta thấy nhiệt độ thay đổi tuyến tính 10mV/°C nên đổi từ Vol sang °C thì ta chỉ cần nhân giá trị điện thế với 100 là ra nhiệt độ.

float temp = voltage * 100.0;

Bài viết liên quan

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments