DHT11 arduino sensore temperatura umidità

In questi giorni la temperatura sta calando, come è giusto che sia in questo periodo dell’anno, ed ho ripreso dalla cassetta degli attrezzi il mio DHT11 arduino.

DHT11 arduino fronte

Il DHT11 arduino è un progetto realizzato qualche mese fa e mai pubblicato.

Utilizzando la sonda DHT11 della dfrobot acquistata l’anno scorso ho utilizzato Arduino per controllare la temperatura ed umidità in casa e regolare il riscaldamento.

In questo primo articolo leggerai come utilizzare la sonda DHT11 arduino e visualizzare sul monitor seriale i valori rilevati dalla sonda.

Componenti necessari per il DHT11 arduino

Per riprodurre questo progetto ti occorre:

  • sonda DHT11 dfrobot
  • cavetto a 3 poli di connessione tra sonda e arduino
  • arduino uno ( in alternativa Leonardo,Mega,Mini,Nano,ecc… )
  • libreria dht11.h scaricabile qui

Collegamento della sonda ad arduino

le connessioni della sonda ad arduino sono semplicissime in quanto la sonda presenta 3 soli cavetti:

  • un cavo positivo ( +5v ) che devi collegare al +5v di arduino
  • un cavo negativo ( Gnd ) che devi collegare al Gnd di arduino
  • un cavo output ( verde ) che puoi collegare ad uno dei pin digitali di arduino

segui la figura seguente

DHT11 arduino diagram

riferita alla V2 della sonda DHT11 arduino, sul wiki del produttore puoi verificare che la V1 ha il cavo positivo e quello negativo invertiti.

Lo sketch di test della DHT11

il test del sensore puoi farlo utilizzando questo sketch di esempio:

#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4

void setup(){
  Serial.begin(9600);
  Serial.println("DHT TEST PROGRAM ");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT11LIB_VERSION);
  Serial.println();
  Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}

void loop(){
  int chk;
  Serial.print("DHT11, \t");
  chk = DHT.read(DHT11_PIN);    // READ DATA
  switch (chk){
    case DHTLIB_OK:  
                Serial.print("OK,\t"); 
                break;
    case DHTLIB_ERROR_CHECKSUM: 
                Serial.print("Checksum error,\t"); 
                break;
    case DHTLIB_ERROR_TIMEOUT: 
                Serial.print("Time out error,\t"); 
                break;
    default: 
                Serial.print("Unknown error,\t"); 
                break;
  }
 // DISPLAT DATA
  Serial.print(DHT.humidity,1);
  Serial.print(",\t");
  Serial.println(DHT.temperature,1);

  delay(1000);
}

grazie all’utilizzo della libreria dht11.h è molto semplice, ecco cosa accade linea per linea.

linea 01: includi la libreria dht11.h che avrai scaricato dal link riportato sopra;

linea 02: definisci una istana dell’oggetto dht11.h che chiami DHT;

linea 03: imposta la costante DHT11_PIN valorizzandola con il pin a cui hai collegato il cavo output del sensore;

linee 06-11: nella funzione setup() imposta il canale di comunicazione seriale con il Serial Monitor a 9600 baud e scrivi, in fase di startup dello sketch, la versione della libreria e l’intestazione in merito a Temperatura ( misurata in gradi Celsius ) ed umidità ( misurata in % );

linea 15: imposta una variabile di tipo integer (chk) in cui memorizzerai i valori restituiti dall’interrogazione della sonda;

linea 16: scrivi sul monitor seriale “DHT11,    “;

linea 17: leggi dalla sonda lo stato della stessa e memorizzane il valore nella variabile chk, nota che il metodo read dell’istanza DHT accetta come parametro il pin a cui la sonda è collegata;

linee 18-31: con lo switch verifichi il valore di check restituito dalla sonda prima di chiederle informazioni su umidità e temperatura;

linee 33-35: leggi dalla sonda i valori di umidità e temperatura utilizzando rispettivamente i metodi humidity e temperature dell’istanza DHT e scrivi questi valori sul monitor seriale;

linea 37: attendi un secondo prima di ripetere il ciclo di interrogazioni della sonda.

Il video della sonda DHT11

Nel web la DHT11 arduino è una delle sonde più utilizzate per progetti di monitoraggio ambientale non solo per la domotica, spesso è utilizzata con un display LCD che visualizza in tempo reale i valori letti dalla sonda. E’ questo il caso del progetto di Danilo Larizza che ha anche realizzato un bellissimo tutorial ed un video:

Buon divertimento !!!

Prima di inserire un commento, per favore, leggi il regolamento

Permanent link to this article: https://www.mauroalfieri.it/elettronica/dht11-arduino.html

74 pings

Skip to comment form

  1. […] « DHT11 arduino sensore temperatura umidità […]

  2. […] leggere i test sui sensori citati in questi articoli già pubblicati DHT11, SHT10, […]

Lascia un commento

Your email address will not be published.

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