Codice Arduino e video per il sensore di temperatura e umidità DHT11
In questo tutorial esploreremo come usare il sensore di temperatura e umidità DHT11 con un Arduino. Questo sensore è un'opzione a basso costo per misurare sia la temperatura che l'umidità, rendendolo una scelta perfetta per vari progetti. Copriremo i collegamenti, il codice necessario e come i componenti interagiscono per fornire letture accurate.

Al termine di questo tutorial sarai in grado di leggere la temperatura in Celsius, Fahrenheit e Kelvin, oltre ai livelli di umidità dal sensore DHT11. Per maggiore chiarezza, assicurati di consultare il video ai timestamp indicati (nel video a 00:00).
Hardware spiegato
Il sensore DHT11 è composto da tre pin: massa, alimentazione e dati. Il pin di massa si collega alla massa dell'Arduino, mentre il pin di alimentazione si collega a un'alimentazione da 5V fornita dall'Arduino. Il pin dati è responsabile della comunicazione tra l'Arduino e il sensore, permettendo all'Arduino di leggere i valori di temperatura e umidità.
Questo sensore utilizza un'uscita digitale, il che significa che invia i dati in formato seriale all'Arduino. Contiene un termistore per la misurazione della temperatura e un sensore di umidità capacitivo. Il DHT11 converte i segnali analogici che riceve in segnali digitali, rendendo più facile per microcontrollori come Arduino elaborare i dati.
Dettagli della scheda tecnica
| Produttore | ASAIR |
|---|---|
| Numero di parte | DHT11 |
| Tensione logica/IO | 3.3-5.5 V |
| Tensione di alimentazione | 3.3-5.5 V |
| Corrente di uscita (per canale) | 0,5 mA |
| Corrente di picco (per canale) | 2,5 mA |
| Linee guida sulla frequenza PWM | Non applicabile |
| Soglie logiche di ingresso | 0.3*VDDa 0.7*VDD |
| Caduta di tensione / RDS(on)/ saturazione | Non applicabile |
| Limiti termici | da 0 a 60 °C |
| Pacchetto | DIP a 4 pin |
| Note / varianti | Economico, facile da usare |
- Tensione di funzionamento tra 3,3 V e 5,5 V.
- Corrente di uscita massima di 2.5 mA.
- Intervallo di temperatura da 0 a 60 gradi Celsius.
- Intervallo di umidità dal 20% al 90%.
- Usa una resistenza pull-up sul pin dei dati per letture stabili.
- Assicurarsi di una connessione corretta per evitare ingressi flottanti
- Prestare attenzione alla polarità invertita quando si collega l'alimentazione.
- Ritardare le letture di almeno 1 secondo per ottenere risultati accurati.
Istruzioni di cablaggio

Per collegare il sensore DHT11 al tuo Arduino, segui questi passaggi:
Per prima cosa, collega il pin di massa (di solito nero o marrone) del DHT11 al ground (GND) dell'Arduino. Successivamente, collega il pin di alimentazione (di solito rosso) del DHT11 all'uscita 5V dell'Arduino. Infine, collega il pin dati (di solito giallo o bianco) al pin digitale 2 dell'Arduino. Assicurati di utilizzare una resistenza di pull-up (circa 10k ohm) tra il pin dati e il pin di alimentazione per garantire una comunicazione stabile.
Esempi di codice e guida passo passo
Nel codice Arduino, iniziamo includendo il file header necessario per il sensore DHT11:
#include Questa riga importa la libreria che contiene le funzioni necessarie per interagire con il sensore DHT11. Successivamente, creiamo un'istanza della classe DHT11:
dht11 DHT11; // create object of DHT11Questa riga inizializza l'oggetto DHT11 che useremo per leggere i dati dal sensore. Il pin collegato al DHT11 è definito come:
#define dhtpin 2 // set the pin to connect to DHT11Questo imposta il pin dati del sensore sul pin 2 dell'Arduino. Nelloop()funzione, leggiamo i dati del sensore:
DHT11.read(dhtpin);// initialize the readingQuesta riga avvia il processo di lettura e l'umidità può essere ottenuta con:
int humidity = DHT11.humidity;// get humidityIl valore dell'umidità è memorizzato nella variabilehumidity, che viene quindi stampato sul monitor seriale insieme ai valori di temperatura convertiti in gradi Celsius, Fahrenheit e Kelvin.
Dimostrazione / Cosa aspettarsi
Quando esegui il codice, dovresti vedere le letture di temperatura e umidità visualizzate nel monitor seriale. Le letture della temperatura si aggiorneranno ogni mezzo secondo (nel video a 00:00). Se il sensore viene riscaldato o raffreddato, noterai che i valori cambiano di conseguenza. Fai attenzione, poiché il DHT11 ha un limite massimo di temperatura di 60 gradi Celsius; superarlo può portare a letture imprecise.
Marcatori temporali del video
- 00:00- Introduzione al sensore DHT11
- 01:30- Istruzioni di cablaggio
- 02:15- Panoramica del codice
- 03:00- Esecuzione del codice e output previsto
Risorse e riferimenti
-
EsternoLibreria DHT11 su GitHubgithub.com
File📁
Librerie Arduino (zip)
-
Libreria Arduino DHT22
robojax-DHT22_library.zip0.01 MB
File Fritzing
-
Sensore di temperatura DHT11
Temperature Sensor DHT11.fzpz0.01 MB
Manuale dell'utente
-
Manuale dell'utente DHT11
robojax-DHT11_manual.pdf0.82 MB