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

 

 

Nu sunt comentarii

Acest website foloseste cookie-uri pentru o experienta placuta in timpul navigarii.