Collegamento del sensore di temperatura LM35 Arduino

Il sensore di temperatura LM35 può essere utilizzato in molti progetti semplici, come una stazione meteorologica su Arduino. In questa lezione consideriamo un semplice sensore di temperatura analogico LM35: come funziona l’elemento radio, lo schema di collegamento ad Arduino Uno. Consideriamo un semplice sketch per un sensore di temperatura che fornirà le letture della temperatura a un monitor del computer o a un display LCD 1602.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensore di temperatura LM35
  • LED e resistenza
  • breadboard
  • cavi di collegamento

Sensore di temperatura LM35 datasheet, pinout

Al posto dell’lm35 è possibile utilizzare qualsiasi altro sensore di temperatura analogico, ad esempio TMP35, LM35, TMP37, LM335. Il sensore ha l’aspetto di un transistor e quindi è facile confonderlo, quindi leggete sempre con attenzione le marcature sugli elementi radio. Spesso sulla base di questo sensore i produttori realizzano moduli di temperatura per Arduino (vedi foto sopra). Se si dispone solo del sensore lm35, questo ha tre pin.

Modulo di sensore di temperatura analogico LM35 pinout, datasheet
Modulo di sensore di temperatura LM35 pinout, datasheet

Caratteristiche del sensore di temperatura LM35 Arduino:

  • Tensione di alimentazione: 4 – 30 V
  • Corrente di funzionamento: 60µA
  • Intervallo di temperatura: da -55°C a + 155°C
  • Accuratezza garantita: ±0,5°C a +25°C e ±1°C da -55°C a +150°C
  • Fattore di scala dell’uscita: 10 mV/°C
  • Tensione di uscita a 25°C: 250 mV

L’accuratezza garantita dal produttore è di +/-1°C a 25°C e +/-1,5°C a -55°C o +150°C per la versione meno precisa, più che sufficiente per la maggior parte delle applicazioni e dei progetti. Un altro vantaggio del sensore LM35 è la sua esemplare linearità: un errore inferiore a 1°C sull’intera gamma da -55°C a +150°C. Poiché ogni grado Celsius corrisponde a 10 mV (cioè 0,01 volt), il segnale di uscita del sensore è quasi perfettamente lineare.

Come collegare sensore di temperatura LM35 Arduino

Collegamento del sensore di temperatura LM35 Arduino Uno
Collegamento del sensore di temperatura LM35 Arduino Uno

Questo sensore è analogico, quindi l’uscita del modulo non è 0 (LOW) o 1 (HIGH), ma una variazione continua di tensione nell’intervallo tra 0 e 5 volt. Pertanto, dobbiamo collegare il sensore lm35 al microcontrollore Arduino alle porte analogiche A0-A5 utilizzando il circuito mostrato sopra. Dopo aver assemblato il circuito, caricare il software per rilevare i valori dai sensori analogici e inviare i dati alla porta seriale hardware di Arduino IDE.

Programma Arduino per utilizzare sensore di temperatura LM35




int temp;
float grad;

void setup() {
  pinMode(A1, INPUT);
  Serial.begin(9600);
}

void loop() {
  temp = analogRead(A1);
  grad = (temp / 1023.0) * 5.0 * 1000 / 10;
  Serial.println(grad);

  delay(1000);
}

Spiegazione del codice per sensore di temperatura LM35 Arduino:



  1. float – numero in virgola mobile utilizzato per i valori analogici;
  2. nella formula grad = (temp/1023,0)*5,0*1000/10; è possibile modificare i valori delle cifre per calibrare il sensore di temperatura.

Come collegare del sensore di temperatura LM35 e LED

Come usare del modulo di temperatura LM35 Arduino Uno
Come usare del modulo di temperatura LM35 Arduino Uno

La calibrazione del sensore analogico è necessaria per ottenere una lettura del sensore di temperatura lm35 in gradi Celsius, come avviene per il sensore DHT11. A tale scopo, aggiungere un’altra variabile allo sketch e inserire una formula che converta i dati del sensore in gradi Celsius. Per calibrare il modulo analogico lm35, caricare il programma sulla scheda Arduino e modificare la formula nel programma, se necessario.

Programma Arduino per calibrazione dei sensori LM35

int temp;
float grad;

void setup() {
  pinMode(12, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(A1, INPUT);
  Serial.begin(9600); 
}

void loop() {
  temp = analogRead(A1);
  grad = (temp / 1023.0) * 5.0 * 1000 / 10;
  Serial.println(grad);

  if (grad > 24) { digitalWrite(12, HIGH); digitalWrite(10, LOW); }
  if (grad < 24) { digitalWrite(12, LOW); digitalWrite(10, HIGH); }

  delay(1000);
}

Spiegazione del codice per calibrazione dei sensori LM35 Arduino:

  1. l’istruzione condizionale if ci permette di definire un’azione sotto una condizione vera.

Conclusioni. Questo modulo è economico, molto facile da usare con i microcontrollori ed estremamente affidabile, in quanto fornisce una misura di temperatura più accurata rispetto al termistore ntc. La temperatura misurata dal sensore è proporzionale alla tensione della sua uscita analogica. Affinché l’LM35 possa misurare temperature negative, deve essere alimentato con una tensione negativa, che Arduino non è in grado di fornire.

Rate this post


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.