DHT22 Temperatura e umidità su un display a 7 segmenti con Arduino RJT43
Questo progetto dimostra come costruire un sistema semplice ma efficace per visualizzare le letture di temperatura e umidità su un display a 7 segmenti utilizzando un Arduino. Questa configurazione è utile per diverse applicazioni in cui il monitoraggio delle condizioni ambientali è cruciale. Il progetto combina il sensore di temperatura e umidità DHT22 con il display a 7 segmenti TM1637, fornendo un'uscita chiara e facilmente leggibile.


Idee per progetti:
- Monitoraggio dell'ambiente domestico per un comfort ottimale.
- Monitoraggio delle condizioni in una serra o in un terrario.
- Costruire una stazione meteorologica di base.
- Visualizzazione della temperatura e dell'umidità in un progetto di registrazione dati.
Hardware/Componenti
Per costruire questo progetto, avrai bisogno dei seguenti componenti:
- Arduino Uno (o scheda compatibile)
- Sensore di temperatura e umidità DHT22
- Display a 7 segmenti TM1637
- Fili di collegamento
- Breadboard (opzionale, ma consigliata)
Guida al cablaggio



Il cablaggio è semplice. Fai riferimento al video (al minuto 01:51) per una guida visiva. Le connessioni principali sono:
- Display TM1637:VCC a 5V, GND a GND, CLK al pin 2 di Arduino, DIO al pin 3 di Arduino (nel video a 02:00).
- Sensore DHT22:VCC a 5V, GND a GND, DATA al pin 9 dell'Arduino (nel video a 02:20). Nota che nel video viene usato il pin 8 dell'Arduino per fornire 5V al sensore (nel video a 02:41).
Spiegazione del codice
Il codice Arduino utilizza due librerie: TM1637Display per il display a 7 segmenti e DHT per il sensore DHT22. I parametri configurabili del codice si trovano principalmente all'inizio:
// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3
#define DHTPIN 9 // DHT22 data pin
#define DHTTYPE DHT22 // DHT sensor type
Queste righe definiscono i pin Arduino collegati al display e al sensore DHT22. Potrebbe essere necessario modificarli se si usano pin diversi. IlgetTemp()La funzione (nel video a 07:03) è cruciale. Ti permette di recuperare diversi valori dal sensore DHT22 passando una stringa come argomento:
float getTemp(String req) {
// ... (Sensor reading code) ...
if(req =="c"){ return t; } // Celsius
else if(req =="f"){ return f; } // Fahrenheit
// ... (Other options for Kelvin, humidity, heat index) ...
}
Questa funzione semplifica la lettura di diversi dati dal sensore (Celsius, Fahrenheit, umidità, indice di calore). Il ciclo principale usa questa funzione per recuperare i dati e visualizzarli sul display a 7 segmenti, arrotondando i valori in virgola mobile a interi per la visualizzazione (nel video a 07:14).
Progetto/Dimostrazione dal vivo
Il video (al minuto 00:32) mostra una dimostrazione dal vivo del progetto. Il display a 7 segmenti mostra chiaramente la temperatura in gradi Fahrenheit. Il video mostra anche come il codice possa essere modificato per visualizzare i valori in gradi Celsius, in Kelvin, l'umidità e l'indice di calore (al minuto 08:21).
Capitoli
- [00:06] Introduzione e panoramica del progetto
- [00:53] Primi passi e panoramica dei componenti
- [01:51] Cablaggio del display TM1637
- [02:20] Cablaggio del sensore DHT22
- [03:14] Spiegazione del codice: Configurazione TM1637
- [04:00] Spiegazione del codice: Configurazione DHT22
- [05:54] Spiegazione del codice: ciclo principale e funzione di visualizzazione
- [07:03] Spiegazione del codice: Funzione getTemp()
- [08:21] Dimostrazione e diverse opzioni di output
Risorse e riferimenti
Nessuna risorsa ancora.
File📁
Librerie Arduino (zip)
-
DHT22 PCB module red
application/zip0.01 MB
File Fritzing
-
DHT22 Humidity and Temperature Sensor
application/zip0.01 MB -
DHT22 PCB module red
application/zip0.01 MB -
DHT22 module white
application/zip0.01 MB -
TM1637 Seven Segment module
application/zip0.01 MB -
DHT11 Humitidy and Temperature Sensor (3 pins)
application/zip0.20 MB
Manuale dell'utente
-
DHT22 Temperature and Humidity sensor user's manual
application/pdf0.36 MB