Nota
Ciao, benvenuto nella Community di Appassionati di SunFounder Raspberry Pi, Arduino e ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.
Perché unirsi a noi?
Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.
Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.
Anteprime Esclusive: Ottieni accesso anticipato a nuovi annunci di prodotti e anteprime.
Sconti Speciali: Goditi sconti esclusivi sui nostri prodotti più recenti.
Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni festive.
👉 Pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi!
5.13 Temperatura - Umidità¶
Il DHT11 è un sensore di temperatura e umidità comunemente utilizzato per misurazioni ambientali. Si tratta di un sensore digitale che comunica con un microcontrollore per fornire letture di temperatura e umidità.
In questo progetto, leggeremo i dati del sensore DHT11 e stamperemo i valori di temperatura e umidità che rileva.
Leggendo i dati forniti dal sensore, possiamo ottenere i valori attuali di temperatura e umidità nell’ambiente. Questi valori possono essere utilizzati per il monitoraggio in tempo reale delle condizioni ambientali, osservazioni meteorologiche, controllo del clima interno, report di umidità e altro ancora.
Componenti Necessari
In questo progetto, avremo bisogno dei seguenti componenti.
È sicuramente conveniente acquistare un kit completo, ecco il link:
Nome |
ELEMENTI IN QUESTO KIT |
LINK |
|---|---|---|
ESP32 Starter Kit |
320+ |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK PER L’ACQUISTO |
|---|---|
Pin Disponibili
Ecco un elenco dei pin disponibili sulla scheda ESP32 per questo progetto.
Pin Disponibili
IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23
Schema
Cablaggio
Codice
Nota
Apri il file
5.13_dht11.inonel percorsoesp32-starter-kit-main\c\codes\5.13_dht11.Dopo aver selezionato la scheda (ESP32 Dev Module) e la porta appropriata, clicca sul pulsante Carica.
Qui viene utilizzata la libreria
DHT sensor library, che puoi installare dal Library Manager.
Ricorda di impostare la velocità di comunicazione seriale a 115200 baud.
Dopo che il codice è stato caricato con successo, vedrai il Serial Monitor stampare continuamente la temperatura e l’umidità, e man mano che il programma prosegue, questi due valori diventeranno sempre più accurati.
Come funziona?
Include la libreria
DHT.h, che fornisce funzioni per interagire con i sensori DHT. Poi, imposta il pin e il tipo per il sensore DHT.#include "DHT.h" #define DHTPIN 14 // Imposta il pin collegato al pin dati del DHT11 #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE);
Inizializza la comunicazione seriale a una velocità di 115200 baud e inizializza il sensore DHT.
void setup() { Serial.begin(115200); Serial.println("DHT11 test!"); dht.begin(); }
Nella funzione
loop(), leggi i valori di temperatura e umidità dal sensore DHT11, e stampali sul monitor seriale.void loop() { // Attendi qualche secondo tra le misurazioni. delay(2000); // La lettura di temperatura o umidità richiede circa 250 millisecondi! // Le letture del sensore possono essere anche vecchie di 2 secondi (è un sensore molto lento) float humidity = dht.readHumidity(); // Leggi la temperatura in Celsius (impostazione predefinita) float temperature = dht.readTemperature(); // Controlla se una delle letture è fallita ed esci (per riprovare). if (isnan(humidity) || isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); return; } // Stampa l'umidità e la temperatura Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(temperture); Serial.println(" *C"); }
La funzione
dht.readHumidity()viene chiamata per leggere il valore di umidità dal sensore DHT.La funzione
dht.readTemperature()viene chiamata per leggere il valore di temperatura dal sensore DHT.La funzione
isnan()viene utilizzata per verificare se le letture sono valide. Se uno dei valori di umidità o temperatura è NaN (non un numero), indica una lettura fallita dal sensore, e viene stampato un messaggio di errore.
Per Saperne di Più
Puoi anche visualizzare la temperatura e l’umidità su un LCD I2C 1602.
Nota
Puoi aprire il file
5.10_thermistor_lcd.inonel percorsoeuler-kit/arduino/5.10_thermistor_lcd.Dopo aver selezionato la scheda (ESP32 Dev Module) e la porta appropriata, clicca sul pulsante Carica.
Qui vengono utilizzate le librerie
LiquidCrystal_I2CeDHT sensor library, che puoi installare dal Library Manager.