[vc_row][vc_column][vc_column_text]In questa guida vedremo come utilizzare il sensore di temperatura e umidità DHT22 con Arduino UNO. Utilizzare questo sensore ci permetterà di realizzare progetti che interagiscono con temperatura o umidità, come ad esempio un termostato. Il sensore digitale DHT22 rileva temperature che vanno da -40°C a 80°C con una precisione di 0.5°C. La lettura di temperatura ed umidità viene campionata ogni 2 secondi. Può lavorare sia ad una tensione di 3V che di 5V e il picco massimo di assorbimento è di 2.5mA (durante la lettura dei dati).

Materiale hardware

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/4″ offset=”vc_col-lg-offset-0 vc_col-lg-3 vc_col-md-offset-0 vc_col-md-4 vc_col-sm-offset-0 vc_col-xs-6″][vc_custom_heading text=”Arduino Uno” font_container=”tag:h6|text_align:center” use_theme_fonts=”yes”][vc_single_image image=”272″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”arduinounoamazon” css=”.vc_custom_1631994204045{margin-top: -15px !important;}”][vc_separator css=”.vc_custom_1631976821913{margin-top: -40px !important;}”][vc_single_image image=”1112″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”arduinounoamazon” css=”.vc_custom_1631994248145{margin-top: -15px !important;}”][/vc_column][vc_column width=”1/4″ offset=”vc_col-lg-offset-0 vc_col-lg-3 vc_col-md-offset-0 vc_col-md-4 vc_col-sm-offset-0 vc_col-xs-6″][vc_custom_heading text=”Cavi Dupont” font_container=”tag:h6|text_align:center” use_theme_fonts=”yes”][vc_single_image image=”265″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”dupontamazon” css=”.vc_custom_1631994204045{margin-top: -15px !important;}”][vc_separator css=”.vc_custom_1631976821913{margin-top: -40px !important;}”][vc_single_image image=”1112″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”dupontamazon” css=”.vc_custom_1631994248145{margin-top: -15px !important;}”][/vc_column][vc_column width=”1/4″ offset=”vc_col-lg-offset-0 vc_col-lg-3 vc_col-md-offset-0 vc_col-md-4 vc_col-sm-offset-0 vc_col-xs-6″][vc_custom_heading text=”DHT22″ font_container=”tag:h6|text_align:center” use_theme_fonts=”yes”][vc_single_image image=”475″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”dht22amazon” css=”.vc_custom_1631994204045{margin-top: -15px !important;}”][vc_separator css=”.vc_custom_1631976821913{margin-top: -40px !important;}”][vc_single_image image=”1112″ img_size=”full” alignment=”center” onclick=”custom_link” img_link_target=”_blank” link=”dht22amazon” css=”.vc_custom_1631994248145{margin-top: -15px !important;}”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Materiale Software

  • Arduino IDE
  • Libreria DHT sensor (by Adafruit) versione 1.2.3

Procedura   [su_lightbox src=”https://www.youtube.com/watch?v=y3CZaPrXGmg”][vc_btn title=”Video” style=”outline-custom” outline_custom_color=”#2b2b2b” outline_custom_hover_background=”#2b2b2b” outline_custom_hover_text=”#ffffff” size=”xs” i_icon_fontawesome=”fa fa-youtube-play” add_icon=”true”][/su_lightbox]

Per prima cosa effettuiamo i collegamenti.

  • Colleghiamo il pin GND con la massa dell’Arduino UNO (GND);
  • il pin VCC con il pin 5V dell’Arduino;
  • infine il pin DAT ad uno dei pin digitali dell’Arduino, in questo caso utilizzeremo il pin 8.

Ora passiamo al software. Iniziamo con l’aprire l’arduino IDE e installare la libreria DHT sensor versione 1.2.3 realizzata da Adafruit. Per farlo ci basterà andare su “sketch -> #include liberia -> gestione librerie“. Cercare “DHT sensor” cliccare sulla libreria “DHT sensor library“, selezionare la versione 1.2.3 e cliccare installa. 

Installata la libreria, ci basta incollare il seguente codice:

#include <DHT.h>

//Costanti
#define DHTPIN 8 	//Pin a cui è connesso il sensore
#define DHTTYPE DHT22   //Tipo di sensore che stiamo utilizzando (DHT22)
DHT dht(DHTPIN, DHTTYPE); //Inizializza oggetto chiamato "dht", parametri: pin a cui è connesso il sensore, tipo di dht 11/22

//Variabili
int chk;
float hum;  //Variabile in cui verrà inserita la % di umidità
float temp; //Variabile in cui verrà inserita la temperatura

void setup()
{
  Serial.begin(9600);
  dht.begin();
}

void loop()
{
  delay(2000);  //Ritardo di 2 secondi. (E' possibile leggere dal sensore massimo una volta ogni 2 secondi)

  //Leggi i dati e salvali nelle variabili hum e temp
  hum = dht.readHumidity();
  temp= dht.readTemperature();
  //Stampa umidità e temperatura tramite monitor seriale
  Serial.print("Umidità: ");
  Serial.print(hum);
  Serial.print(" %, Temp: ");
  Serial.print(temp);
  Serial.println(" Celsius");
}

Conclusione

Carichiamo il codice sull’Arduino e apriamo il monitor seriale, dove la temperatura e l’umidità saranno visualizzati ogni 2 secondi.

[/vc_column_text][/vc_column][/vc_row]