Nota
Ciao, benvenuto nella Comunità di Appassionati di Raspberry Pi, Arduino e ESP32 di SunFounder su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 con altri appassionati.
Why Join?
Expert Support: Risolvi problemi post-vendita e sfide tecniche con il supporto della nostra comunità e del nostro team.
Learn & Share: Scambia consigli e tutorial per migliorare le tue competenze.
Exclusive Previews: Ottieni accesso anticipato ad annunci di nuovi prodotti e anteprime esclusive.
Special Discounts: Godi di sconti esclusivi sui nostri prodotti più recenti.
Festive Promotions and Giveaways: Partecipa a giveaway e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca [qui] e unisciti oggi!
Lezione 19: Modulo Sensore di Temperatura e Umidità (DHT11)
In questa lezione, imparerai come leggere la temperatura e l’umidità da un sensore DHT11 utilizzando una scheda di sviluppo ESP32. Copriremo anche l’interpretazione di queste letture e il calcolo dell’indice di calore sia in gradi Celsius che Fahrenheit. Questo progetto è ideale per i principianti nel campo della rilevazione ambientale, offrendo esperienza pratica nell’acquisizione dei dati dei sensori e nei concetti di base del monitoraggio climatico sulla piattaforma ESP32.
Componenti Necessari
Per questo progetto, abbiamo bisogno dei seguenti componenti.
È decisamente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
---|---|---|
Kit Sensori Universale Maker |
94 |
Puoi anche acquistarli separatamente dai link qui sotto.
Introduzione al Componente |
Link d’acquisto |
---|---|
ESP32 & Scheda di Sviluppo (ESP32 WROOM 32E) |
|
Cablaggio
Nota
Il kit può contenere diverse versioni del modulo DHT11. Si prega di confermare il metodo di cablaggio secondo il modulo che si possiede.
module |
diagram |
---|---|
Codice
Nota
Per installare la libreria, usa il Gestore delle Librerie di Arduino e cerca «DHT sensor library» e installala.
Analisi del Codice
Inclusione delle librerie necessarie e definizione delle costanti. Questa parte del codice include la libreria del sensore DHT e definisce il numero del pin e il tipo di sensore utilizzati in questo progetto.
Nota
Per installare la libreria, usa il Gestore delle Librerie di Arduino e cerca «DHT sensor library» e installala.
#include <DHT.h> #define DHTPIN 25 // Definisci il pin utilizzato per collegare il sensore #define DHTTYPE DHT11 // Definisci il tipo di sensore
Creazione dell’oggetto DHT. Qui creiamo un oggetto DHT usando il numero del pin e il tipo di sensore definiti.
DHT dht(DHTPIN, DHTTYPE); // Crea un oggetto DHT
Questa funzione viene eseguita una volta all’avvio della scheda di sviluppo ESP32. Inizializziamo la comunicazione seriale e il sensore DHT in questa funzione.
void setup() { Serial.begin(9600); Serial.println(F("DHT11 test!")); dht.begin(); // Inizializza il sensore DHT }
Ciclo principale. La funzione
loop()
viene eseguita continuamente dopo la funzione di setup. Qui, leggiamo i valori di umidità e temperatura, calcoliamo l’indice di calore e stampiamo questi valori sul monitor seriale. Se la lettura del sensore fallisce (ritorna NaN), stampa un messaggio di errore.Nota
L” heat index è un modo per misurare quanto caldo si sente all’esterno combinando la temperatura dell’aria e l’umidità. È anche chiamato «temperatura percepita» o «temperatura apparente».
void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); float f = dht.readTemperature(true); if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } float hif = dht.computeHeatIndex(f, h); float hic = dht.computeHeatIndex(t, h, false); Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print(F("°C ")); Serial.print(f); Serial.print(F("°F Heat index: ")); Serial.print(hic); Serial.print(F("°C ")); Serial.print(hif); Serial.println(F("°F")); }