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