Senzorul de temperatura LM35

In acest articol vom folosi un senor de temperatura LM35.

Acest senzor vine in mai multe tipruri de capsule dar in acest articol vom folosi capsula TO-92.

Gama de temparaturi la care acest senzor opereaza este intre -55ºC si 150ºC.

Senzorul are 3 terminale: +VCC, OUT si GND (vazute cu marcajul senzorului spre noi si terminalele in jos de la stanga spre dreapta).

Conectarea se face foarte simplu, senzorul se alimenteaza la +5V iar iesirea se conecteaza la un pin analogic (A0 in acest exemplu). Conectarea se face direct, nu avem nevoie de nici un rezistor suplimentar.

Sketchul folosit este urmatorul:

int LM35 = A0; 
float LM_value, LM_voltage, C;

void setup() {
  pinMode(LM35, INPUT);
  Serial.begin(9600);
  Serial.println("Senzor de temparatura cu LM35");
  delay(1500);
}

void loop() {
  LM_value = analogRead(LM35);
  LM_voltage = (LM_value * 5000) / 1024;
  C = LM_voltage / 10;
  Serial.print("Temperatura: ");
  Serial.print(C);
  Serial.println("ºC");
  delay(1000);
}

De asemenea putem afisa informatiile oferite de catre senzor pe un display LCD cu conectare pe magistrala I2C.

Sketchul folosit este cel de mai jos:

int LM35 = A0; 
float LM_value, LM_voltage, C;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
byte celsius[] = {
  B00110,
  B01001,
  B01001,
  B00110,
  B00000,
  B00000,
  B00000,
  B00000
};

void setup() {
  pinMode(LM35, INPUT);
  lcd.begin();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Termometru cu");
  lcd.setCursor(0, 1);
  lcd.print("senzorul LM35");
  delay(1500);
  lcd.clear();
  lcd.createChar(0, celsius);
}

void loop() {
  LM_value = analogRead(LM35);
  LM_voltage = (LM_value * 5000) / 1024;
  C = LM_voltage / 10;
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.setCursor(6, 0);
  lcd.print(C);
  lcd.write(byte(0));
  lcd.print("C");  
  delay(1000);
  lcd.clear();
}

 

 

Autentificare