Controllo di Temperatura e Umidità mediante DHT11

Obiettivo: Realizzare un controllo di temperatura e umidità mediante il sensore DHT11.

Componenti elettronici:

  • Arduino UNO
  • DHT11

TeoriaIl DHT11 è un sensore digitale per la misura della temperatura ed umidità molto stabile e semplice da usare e configurare.
E’ un sensore di basso costo che ha un range di misurazione dell’umidità che va da 20%RH al 90%RH (con una precisione di 5%RH) e di temperatura da 0 a 50°C (con una precisione di 2°C)

Il sensore si presenta con tre pin.

Guardando il dispositivo dal lato della parte sensibile, si ha che il pin di sinistra è quello dell’alimentazione (5V), quello centrale è il GND e il destro è il PIN del segnale digitale, da collegare ad un’uscita digitale di Arduino.

Collegamento Circuitale:

Viene in seguito riportato lo schema elettrico utilizzato per valutare la temperatura mediante il dispositivo elettronico DHT11

Codice:

Per il funzionamento del dispositivo è necessario caricare la libreria DHT.h nell’ide. Successivamente va definito il tipo di dispositivo che si sta utilizzando (nel nostro caso DHT11). Tale informazione va inserita nella dichiarazione dell’oggetto DHT ( DHT dht(DHTPIN, DHTTYPE); ).

La proprietà readTemperature restituisce la temperatura in gradi Celsius come default, a meno che non si inserisce un valore booleano true come argomento. In questo caso la temperatura verrà espressa in gradi Farhenait.

La proprietà readHumidity restituisce l’umidità relativa (RH).



Personalizzazioni:

E’ possibile modificare il circuito aggiungendo un display per visualizzare i valori di temperatura e umidità.




Misura di Temperatura mediante TMP36 [Tinkercad]

Obiettivo: Realizzare un controllo di temperatura mediante il dispositivo TMP36. Il TMP36 è il sensore di temperatura presente sul simulatore tinkercad.

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • TMP36

TeoriaIl componente elettronico TMP36 è un dispositivo integrato ad alta precisione utilizzato per misurare la temperatura ambientale.
Dato il basso costo e l’ampia scala di valori ammissibili (ovvero da -40°C fino a 125°C) questi dispositivi sono particolarmente diffusi. E’ inoltre importante considerare che non è necessaria nessuna operazione calibrazione per ottenere valori di accuratezza pari a ±1°C ad una temperatura di circa +25°C e ±2°C nel range di temperature −40°C to +125°C.

Questo dispositivo è caratterizzato da tre differenti pin ed un corpo semi-cilindrico. Guardando il lato piatto del dispositivo, il pin di sinistra è l’alimentazione (5V), il pin di destra la massa (GND), mentre sul pin centrale viene generata una tensione funzione della temperatura. La temperatura può essere pertanto misurata attraverso una lettura analogica sul pin centrale effettuata mediante il controllore Arduino.

TMP36 Package

Come riportato in precedenza è possibile utilizzare un pin di input analogico per ottenere il valore di temperatura mediante l’istruzione di analogRead. Nel caso specifico, osservando il grafico che riporta la caratteristica tensione/temperatura (per il TMP36 la linea è evidenziata in rosso) per una tensione di uscita di 0.5V il sensore rileva la temperatura di 0°C. Pertanto valori di tensione inferiori a 0.5V indicano una temperatura sotto lo zero, mentre valori di tensione superiori a 0.5V indicano una temperatura positiva. Inoltre, è importante considerare che “una variazione di grado corrisponde ad una variazione di tensione di 10mV”. Quindi, se sul pin di input analogico sono presenti 550mV significa che il sensore sta rilevando una temperatura di 5°C (550mV – 500mV = 50 mV variazione di 5°C).

Caratteristica tensione corrente

Collegamento Circuitale:

Viene in seguito riportato lo schema elettrico utilizzato per valutare la temperatura mediante il dispositivo elettronico TMP36

Collegamento Circuitale

Codice:

La temperatura viene determinata attraverso una lettura analogica ed una opportuna scalatura.
Nel dettaglio, la tensione prodotta dal componente TMP36 viene letta utilizzando il pin analogico A0 e mappata in un intervallo 0-1023. Considerando che alla temperatura di 0 gradi la tensione misurata è pari a 0.5V e che per ogni grado percepito si ha un incremento di tensione di 10mV è opportuno riportare il valore letto attraverso la funzione analogRead in mV ed eseguire un’opportuna scalatura. Pertanto se il valore letto mediante l’istruzione di analogRead è memorizzato in una variabile denominata valTMP la temperatura può essere ottenuta mediante la seguente formula:

temperatura = (((valTMP5.0)/1023.0)-0.5)*100



Tinkercad



Personalizzazioni:

E’ possibile modificare il circuito aggiungendo una ventola che si accende in modo automatico superata una determinata temperatura.




Controllo di Temperatura mediante LM35

Obiettivo: Realizzare un controllo di temperatura mediante il dispositivo LM35.



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • LM35

TeoriaIl componente elettronico LM35 è un dispositivo integrato ad alta precisione utilizzato per misurare la temperatura ambientale.
Dato il basso costo e l’ampia scala di valori ammissibili (ovvero da -55°C fino a 150°C) questi dispositivi sono particolarmente diffusi. E’ inoltre importante considerare che e nessun tipo di calibrazione esterna è richiesta.

Estratto Datasheet LM35

Questo dispositivo è caratterizzato da tre differenti pin ed un corpo semi-cilindrico. Guardando il lato piatto del dispositivo, il pin di sinistra è l’alimentazione (5V), il pin di destra la massa (GND), mentre sul pin centrale viene generata una tensione funzione della temperatura (10mV per ogni grado sopra lo zero). La temperatura può essere pertanto misurata attraverso una lettura analogica sul pin centrale effettuata mediante il controllore Arduino.

LM35 Package

Collegamento Circuitale:

Viene in seguito riportato lo schema elettrico utilizzato per valutare la temperatura mediante il dispositivo elettronico LM35

Collegamento Circuitale

Codice:

La temperatura viene determinata attraverso una lettura analogica ed una opportuna scalatura.
Nel dettaglio, la tensione prodotta dal componente LM35 viene letta utilizzando il pin analogico A0 e mappata in un intervallo 0-1023. Considerando che per ogni grado percepito si ha un incremento di tensione di 10mV è opportuno riportare il valore letto attraverso la funzione analogRead in mV. Questa operazione può essere svolta dividendo il valore letto per 1023 e moltiplicando il risultato per 5000. I gradi sono infine ottenuti dividendo il risultato per 10.



Personalizzazioni:

E’ possibile modificare il circuito aggiungendo una ventola che si accende in modo automatico superata una determinata temperatura.