Lezione 35: Utilizzo del sensore di temperatura HTU21D con Arduino
Questo progetto ti guida nell'uso di un Arduino per leggere i dati di temperatura e umidità da un sensore HTU21D-F. Questo sensore è economico e ampiamente disponibile, il che lo rende perfetto per una varietà di progetti. Il sensore fornisce i dati tramite I2C, un comune protocollo di comunicazione digitale. Imparare a usare questo sensore e l'I2C aprirà molte possibilità per i tuoi progetti.

Applicazioni pratiche:
- Costruire un monitor ambientale per la casa intelligente
- Creare una stazione meteorologica
- Sviluppo di un involucro a clima controllato per apparecchiature elettroniche sensibili
- Monitoraggio della temperatura e dell'umidità in una serra o in un terrario
Hardware/Componenti
Avrai bisogno dei seguenti componenti:
- Scheda Arduino (ad es., Uno, Nano)
- Sensore di temperatura e umidità HTU21D-F (nel video a 00:22)
- Fili di collegamento
- Breadboard (opzionale, ma consigliata)
Guida al cablaggio
Il cablaggio è semplice. Collega il sensore all'Arduino come segue (nel video a 02:28):
- VCC del sensore al 3.3V dell'Arduino
- GND del sensore al GND di Arduino
- SDA del sensore su Arduino A4
- SCL del sensore all'A5 dell'Arduino

Spiegazione del codice
Il codice fornito utilizza la libreria Adafruit HTU21D-F (nel video a 03:03) per interagire con il sensore. Le parti chiave sono:
// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change
inPin: Specifica il pin analogico collegato al sensore di temperatura. Puoi cambiarlo per adattarlo al tuo cablaggio.
iteration: Questa variabile controlla il numero di letture effettuate per calcolare la temperatura media. Aumentarla migliora la precisione ma rallenta le letture (nel video a 00:22).
IlgetHTU()Una funzione (nel video a 08:46) permette di recuperare la temperatura in Celsius, Fahrenheit o Kelvin, oppure l'umidità, passando un carattere ('C', 'F', 'K' o 'H') come argomento. Il codice poi usa questa funzione per visualizzare i dati sul monitor seriale.
float getTemperature(char type) {
// ... (code to read temperature and humidity) ...
if (type == 'F') {
value = averageTemperature * 9 / 5 + 32; // Fahrenheit
} else if (type == 'K') {
value = averageTemperature + 273.15; // Kelvin
} else {
value = averageTemperature; // Celsius
}
return value;
}
Progetto/Dimostrazione dal vivo
Il video dimostra il funzionamento del sensore (nel video al 07:34). Il monitor seriale visualizza le letture di temperatura e umidità. Il presentatore mostra anche come il codice possa attivare azioni in base alle soglie di temperatura (nel video al 06:45).
Capitoli
- [00:00] Introduzione
- [00:22] Panoramica del sensore
- [01:22] Revisione della scheda tecnica
- [02:28] Cablaggio
- [03:03] Installazione della libreria
- [04:05] Spiegazione del codice (Parte 1)
- [08:33] Spiegazione del codice (Parte 2)
- [07:34] Dimostrazione dal vivo
Cose di cui potresti avere bisogno
-
Amazon
Risorse e riferimenti
-
EsternoLibreria Adafruit HTU21D (GitHub)github.com
-
EsternoScheda tecnica HTU21D (PDF)cdn-shop.adafruit.com
File📁
Altri file
-
Adafruit HTU21DF library (Robojax.com)
robojax_HTU21DF_Adafruit_HTU21DF_Library-master.zip