Questo tutorial è parte di: Sensore digitale di umidità relativa e temperatura HTU21D
Video relativi al sensore digitale di umidità relativa e temperatura HTU21D. I link ad altri video si trovano sotto questo articolo.
Visualizzazione della temperatura da un HTU21D su un LCD
In questo tutorial, impareremo a visualizzare le letture della temperatura dal sensore di temperatura e umidità HTU21D su un LCD. Il risultato sarà un setup funzionante in cui la temperatura può essere visualizzata in gradi Celsius, Fahrenheit e Kelvin, insieme all'umidità relativa mostrata sullo stesso schermo. Questo progetto ti darà esperienza pratica con la comunicazione I2C e la gestione dei dati di base del sensore. Per una guida visiva dettagliata, assicurati di guardare il video (nel video a 00:00).

Hardware Spiegato
I componenti principali per questo progetto includono il sensore HTU21D e il display LCD. L'HTU21D è un sensore digitale di umidità e temperatura che comunica tramite il protocollo I2C. Fornisce misurazioni precise della temperatura in gradi Celsius o Fahrenheit e dell'umidità relativa in percentuale. Il sensore opera tipicamente a una tensione di 3,3V ma può anche funzionare con sistemi a 5V. Il display LCD che utilizzeremo è un LCD 16x2 con interfaccia I2C. Questo tipo di display richiede solo due fili per la comunicazione dei dati, rendendo più semplice il collegamento con microcontrollori come Arduino. L'interfaccia I2C consente di collegare più dispositivi sullo stesso bus, semplificando il cablaggio e riducendo il numero di pin utilizzati.
Dettagli del datasheet
| Produttore | Adafruit |
|---|---|
| Numero di parte | HTU21D-F |
| Tensione logica/IO | 3,3 V (tipico) |
| Tensione di alimentazione | 1,5 V a 3,6 V |
| Corrente di uscita | 0,5 mA (tip.) |
| Corrente di picco | 1,5 mA (massimo) |
| Intervallo di temperatura | -40 a 125 °C |
| Intervallo di umidità | 0 a 100 %UR |
| Pacchetto | DFN-6 |
| Note / varianti | None |
- Assicurati di avere i livelli di tensione corretti per evitare danni al sensore.
- Utilizzare resistori di pull-up sulle linee SDA e SCL se necessario.
- Controlla l'indirizzo I2C con uno scanner per garantire una corretta configurazione.
- Gestisci l'uscita del sensore con attenzione per evitare errori di lettura.
- Tenere il sensore lontano da fonti di calore durante le misurazioni.
Istruzioni di cablaggio

Per collegare il sensore HTU21D all'Arduino, collega il pin VCC del sensore all'uscita 3.3V dell'Arduino. Successivamente, collega il pin GND del sensore a terra dell'Arduino. Il pin SDA, utilizzato per la trasmissione dei dati, deve essere collegato al pin A4 dell'Arduino. Analogamente, collega il pin SCL, utilizzato per il segnale di clock, al pin A5 sull'Arduino. Assicurati che il tuo LCD sia collegato correttamente; l'indirizzo I2C per l'LCD in questa configurazione è tipicamente 0x3F. Se stai utilizzando un tipo diverso di LCD o un indirizzo I2C diverso, assicurati di modificare il codice di conseguenza. Dopo il cablaggio, assicurati di controllare eventuali collegamenti allentati prima di accendere l'Arduino.
Esempi di codice e guida passo passo
Nel codice, iniziamo includendo le librerie necessarie per il sensore HTU21D e l’LCD:
#include
#include "Adafruit_HTU21DF.h"
#include
Questo configura l'ambiente per utilizzare sia il sensore che il display. La libreria `Adafruit_HTU21DF` gestisce le funzionalità del sensore, mentre la libreria `LiquidCrystal_I2C` gestisce il display LCD. Successivamente, creiamo un'istanza per sia il sensore che l'LCD:
Adafruit_HTU21DF htu = Adafruit_HTU21DF();
LiquidCrystal_I2C lcd(0x3F, 16, 2);
Qui,htuè l'oggetto per il sensore HTU21D, elcdè l'oggetto per il display LCD. L'indirizzo I2C per il LCD è impostato su 0x3F, che potresti dover verificare in base alla tua configurazione.
Nella setup()funzione, inizializziamo l'LCD e verifichiamo se il sensore è operativo:
void setup() {
lcd.begin();
lcd.backlight();
if (!htu.begin()) {
lcd.print("Sensor missing");
while (1);
}
lcd.print("HTU21D Ready");
}
Questo codice inizializza il LCD e controlla la presenza del sensore. Se il sensore non viene rilevato, verrà visualizzato "Sensore mancante" e il programma si fermerà.
Infine, nelloop()funzione, leggiamo continuamente i valori di temperatura e umidità e li visualizziamo:
void loop() {
lcd.clear();
lcdDisplay(0, 0, "Celsius: ", 10, 0, getHTU('C'), 'd');
lcdDisplay(0, 1, "Humidity: ", 10, 1, getHTU('H'), '%');
delay(5000);
}
In questo estratto, cancelliamo l'LCD, poi chiamiamo illcdDisplay()funzione per mostrare la temperatura in Celsius e l'umidità. IlgetHTU()la funzione recupera la temperatura o l'umidità in base al carattere passato.
Dimostrazione / Cosa Aspettarsi
Quando la configurazione è completa e il codice è caricato sull'Arduino, il LCD dovrebbe visualizzare la temperatura attuale in Celsius e l'umidità relativa. Se tutto è collegato correttamente, vedrai i valori aggiornarsi ogni pochi secondi. Fai attenzione ai comuni errori, come collegamenti invertiti o indirizzi I2C errati, che possono portare a fallimenti nella comunicazione con il sensore (nel video alle 05:00).
Timestamp video
- 00:00- Introduzione
- 01:30- Istruzioni di cablaggio
- 03:15- Spiegazione del codice
- 04:50- Dimostrazione
- 05:40- Conclusione
Questo tutorial è parte di: Sensore digitale di umidità relativa e temperatura HTU21D
- Lezione 35-1: Utilizzo del sensore di temperatura HTU21D
- Lezione 35-2: Utilizzo del sensore di temperatura HTU21D - Codice personalizzato
- Lezione 35: Utilizzo del sensore di temperatura HTU21D con Arduino
- Lezione 36: Utilizzare il sensore di temperatura HTU21D con un LCD Corso Arduino passo dopo passo
- Utilizzare due ulteriori sensori di umidità e temperatura HTU21DF con Arduino
- Visualizzazione della temperatura da un HTU21D come un grafico a barre su un LCD
- Come utilizzare il sensore di umidità e temperatura HTU21DF con Arduino (Codice di base)
- Come utilizzare il sensore di umidità e temperatura HTU21DF con Arduino (Codice personalizzato)
Cose di cui potresti avere bisogno
-
Amazon
-
eBayAcquista HTU21D da eBayebay.us
-
AliExpressAcquista HTU21D o SHT21 su AliExpresss.click.aliexpress.com
Risorse e riferimenti
-
EsternoAdafruit HTU21D Libreria (GitHub)github.com
File📁
Scheda tecnica (pdf)
-
HTU21D_temerature_humidity_datasheet
HTU21D_temerature_humidity_datasheet.pdf0.96 MB