ESP32 è una scheda microcontrollore avanzata che può eseguire più istruzioni per generare output. Usando ESP32 con sensori diversi possiamo controllare più dispositivi e possiamo richiedere misurazioni in tempo reale di diversi parametri come temperatura, pressione, umidità o altezza. Oggi interfacciamo il sensore DHT11 con ESP32 per verificare la percentuale di temperatura e umidità all'interno della nostra stanza.
Questo tutorial copre i seguenti contenuti:
1: Introduzione al sensore DHT11
2: DHT11 Sensore Pinout
2.Sensore DHT11 1: 3 pin
2.2: Sensore DHT11 a 4 pin
3: installazione delle librerie richieste
4: interfacciano ESP32 con sensore DHT11
4.1: schema
4.2: hardware
4.3: codice
4.4: output
1: Introduzione al sensore DHT11
DHT11 è uno dei sensori di monitoraggio di temperatura e umidità comunemente usati. È più preciso nel dare temperatura e umidità relativa. Emette un segnale digitale calibrato che spinge in due diverse letture di temperatura e umidità.
Utilizza la tecnica di acquisizione del segnale digitale che fornisce affidabilità e stabilità. Il sensore DHT11 contiene un componente di misurazione dell'umidità di tipo resistivo e presenta un componente di misurazione della temperatura NTC. Entrambi sono integrati in un microcontrollore altamente efficiente a 8 bit che offre una risposta rapida, capacità anti-interferenza e efficacia in termini di costi.
Ecco alcune principali specifiche tecniche di DHT11:
Dato che abbiamo coperto un'introduzione di base al sensore DHT11 Ora ci muoviamo verso la pinout di DHT11.
2: DHT11 Sensore Pinout
Il più delle volte il sensore DHT11 è disponibile in due diverse configurazioni PIN. Il sensore DHT11 che viene fornito in una configurazione a 4 pin ha 3 pin non funzionano o etichettati come nessuna connessione.
Il modulo sensore DHT11 a 3 pin è disponibile in tre pin che includono potenza, GND e pin di dati.
Sensore DHT11 1: 3 pin
L'immagine data mostra le configurazioni a 3 pin del sensore DHT11.
Questi tre pin sono:
1 | Dati | Temperatura e umidità di uscita nei dati seriali |
2 | VCC | Potenza di ingresso 3.5v a 5.5v |
3 | GND | GND di circuito |
2: Sensore DHT11 a 4 pin
La seguente immagine illustra il modulo sensore DHT11 a 4 pin:
Questi 4 pin includono:
1 | VCC | Potenza di ingresso 3.5v a 5.5v |
2 | Dati | Temperatura e umidità di uscita nei dati seriali |
3 | Nc | Nessuna connessione o non utilizzata |
4 | GND | GND di circuito |
3: installazione delle librerie richieste
Per interfacciarsi il sensore DHT11 con ESP32 alcune librerie necessarie devono essere installate. Senza usare queste librerie DHT11 non può mostrarci la lettura della temperatura in tempo reale sul monitor seriale.
Open Arduino IDE, vai a: Schizzo> Includi la libreria> Gestisci le biblioteche
In alternativa, possiamo anche aprire il gestore della libreria dal pulsante laterale sull'interfaccia Arduino IDE.
Cerca la libreria DHT e installa l'ultima versione aggiornata. La libreria DHT aiuterà a leggere i dati del sensore.
Dopo aver installato la libreria DHT dopo, dobbiamo installare un Biblioteca di sensori unificati di Adafruit.
Abbiamo installato correttamente le librerie richieste e ora possiamo interfacciarsi facilmente ESP32 con DHT11.
4: interfacciano ESP32 con sensore DHT11
Per l'interfaccia ESP32 con sensore DHT11 abbiamo bisogno di un pin digitale per la lettura dei dati del sensore e per alimentare il sensore DHT11 possiamo utilizzare il pin 3v3 o il pin Vin di ESP32.
1: schema
Nell'immagine data possiamo vedere il diagramma schematico di ESP32 con DHT11. Questa immagine rappresenta l'interfaccia del modulo a 3 pin con ESP32. Ricorda di collegare un resistore pull -up di 10kΩ.
Allo stesso modo, può anche essere collegato il DHT11 a 4 pin, l'unica differenza qui è il pin a 3 che non è utile o definito come nessuna connessione. Il pin di dati è al pin 2 del sensore:
2: hardware
Dopo aver progettato lo stesso circuito di Schema, possiamo vedere l'immagine hardware di ESP32 come mostrato di seguito:
3: codice
Connetti ESP32 con PC e Apri Arduino IDE. Carica il codice dato sulla scheda ESP32.
#include "dht.H"
#define dhtpin 4
#define dhttype dht11
Dht dht (dhtpin, dhtType);
void setup ()
Seriale.Inizia (115200);
Seriale.println (f ("dhtxx test!"));
dht.inizio();
void loop ()
ritardo (2000);
float h = dht.readhumidità ();
float t = dht.readtemperature (); /*Leggi la temperatura predefinita in Celsius*/
float f = dht.readtemperature (true); /*Leggi la temperatura in Fahrenheit*/
if (isnan (h) || isnan (t) || isnan (f)) /*se condizione per controllare tutte le letture prese o no* /
Seriale.println (f ("Impossibile leggere dal sensore DHT!"));
ritorno;
Seriale.print (f ("umidità:")); /*stampa il valore di umidità*/
Seriale.stampa (h);
Seriale.stampa (f ("% temperatura:"));
Seriale.print (t);
Seriale.stampa (f ("° C")); /*stampa la temperatura in Celsius*/
Seriale.stampa (f);
Seriale.println (f ("° F")); /*stampa la temperatura in fahrenheit*/
Il codice avviato includendo la libreria DHT. Un pin digitale ESP32 è inizializzato per la lettura della temperatura e dell'umidità. Dopo quel sensore DHT11 è definito. Tre variabili h, t E F sono creati che memorizzano il valore di umidità, temperatura in Celsius e Fahrenheit in formato galleggiante.
Alla fine del programma ognuno di essi è stampato su un monitor seriale.
4: output
Nel terminale di uscita di IDE, possiamo vedere le letture di umidità e temperatura stampate.
Abbiamo completato con successo l'interfacciatura di ESP32 con sensore DHT11.
Conclusione
ESP32 è un dispositivo multidimensionale in grado di migliorare il suo lavoro interfacciando diversi sensori. Qui in questa lezione, abbiamo configurato ESP32 con sensore DHT11 per misurare la temperatura e l'umidità di una stanza. L'uso del codice Arduino ha fornito che uno qualsiasi dei sensori DHT11 può essere configurato per effettuare letture.