Cảm biến nhiệt độ LM35 và ứng dụng trong Arduino

Chào mừng bạn đến với bài viết này! Hôm nay chúng ta sẽ tìm hiểu về cảm biến nhiệt độ LM35 và cách sử dụng nó trong môi trường Arduino. Cảm biến nhiệt độ LM35 là một loại cảm biến tương tự sử dụng rất phổ biến trong các ứng dụng đo nhiệt độ thời gian thực. Nó được đánh giá cao vì độ chính xác cao, kích thước nhỏ và giá thành phải chăng. Bài viết này sẽ giúp bạn hiểu rõ hơn về cảm biến này và cách sử dụng nó.

Phần cứng

Trước khi bắt đầu, chúng ta cần chuẩn bị các thành phần cần thiết:

  • Arduino UNO
  • Breadboard
  • Dây cắm breadboard
  • 1 cảm biến LM35

Giới thiệu về cảm biến LM35

LM35 là một cảm biến nhiệt độ analog, nghĩa là nó sẽ đo hiệu điện thế ngõ ra để xác định nhiệt độ. Đơn vị nhiệt độ của LM35 là °C và nhiệt độ thay đổi tuyến tính với 10mV/°C. Cảm biến LM35 không cần được canh chỉnh nhiệt độ khi sử dụng và có độ chính xác tương đối cao.

LM35 pin out

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 độ. Bằng cách kết nối chân bên trái với hiệu điện thế 5V, chân bên phải nối đất và đọc hiệu điện thế ở chân giữa bằng các pin A0 trên Arduino, bạn có thể đọc được nhiệt độ từ 0 đến 100ºC bằng công thức:

float temperature = (5.0*analogRead(A0)*100.0/1024.0);

Bạn có thể sáng tạo mạch cảm biến nhiệt độ sử dụng LM35 và tự động ngắt điện khi nhiệt độ vượt ngưỡng tối đa, đóng điện khi nhiệt độ thấp hơn ngưỡng tối thiểu thông qua module rơ le.

Lắp mạch

  • Chân analog của cảm biến LM35 được kết nối với chân A0 trên Arduino.

Lập trình

Dưới đây là mã lập trình mẫu để đọc giá trị từ cảm biến LM35 và hiển thị nhiệt độ trên Serial Monitor:

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);
}

Lời kết

Nếu bạn sử dụng môi trường Arduino để đọc các tín hiệu cảm biến và xuất ra thông tin trên Serial, việc lập trình sẽ rất đơn giản như vậy. Tuy nhiên, nếu bạn sử dụng các môi trường khác, việc hiểu và sử dụng các câu lệnh có thể gặp một số khó khăn. Hãy thực hiện những dự án thú vị và đừng quên uống nước khi mệt, bạn nhé!

Đóng góp từ cộng đồng

Với cảm biến DS20B18, bạn có thể đọc được nhiệt độ âm và độ chính xác cao hơn. Dưới đây là một ví dụ về cách sử dụng cảm biến này:

#include 
#include 
#include 

#define ONE_WIRE_BUS 3

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

LiquidCrystal lcd(12, 11, 7, 6, 5, 4);

void setup(void) {
  sensors.begin();
  lcd.begin(16, 2);
}

void loop() {
  sensors.requestTemperatures();
  float nhietdoDS18B20 = sensors.getTempC(cambienDS20B18);

  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Nhiet do: ");
  lcd.setCursor(10, 0);
  lcd.print(nhietdoDS18B20, 1);
  lcd.write(223);
  lcd.print("C");
}

Hy vọng bài viết này sẽ giúp bạn hiểu rõ hơn về cảm biến nhiệt độ LM35 và cách sử dụng nó trong môi trường Arduino. Hãy thực hiện những dự án thú vị và khám phá thêm nhiều ứng dụng hấp dẫn khác. Chúc bạn thành công!

FEATURED TOPIC

hihi