Nota

Ciao, benvenuto nella community di appassionati di SunFounder Raspberry Pi, Arduino e ESP32 su Facebook! Approfondisci Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.

Perché unirsi?

  • Supporto esperto: Risolvi i problemi post-vendita e affronta le 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: Accedi in anteprima agli annunci di nuovi prodotti e alle anteprime esclusive.

  • Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni festive e giveaway: Partecipa a giveaway e promozioni durante le festività.

👉 Pronto a esplorare e creare con noi? Clicca su [Qui] e unisciti oggi stesso!

6.2 - Temperatura e Umidità

L’umidità e la temperatura sono strettamente correlate, sia come grandezze fisiche sia nella vita quotidiana delle persone. La temperatura e l’umidità dell’ambiente umano influiscono direttamente sulla funzione di termoregolazione e sull’effetto di dissipazione del calore del corpo umano. Questi fattori, a loro volta, influenzano l’attività mentale e lo stato d’animo, incidendo sull’efficienza nello studio e nel lavoro.

La temperatura è una delle sette grandezze fisiche fondamentali del Sistema Internazionale di Unità, utilizzata per misurare il grado di calore o freddo di un oggetto. Il Celsius è una delle scale di temperatura più utilizzate al mondo, espressa con il simbolo «℃».

L’umidità è la concentrazione di vapore acqueo presente nell’aria. Nella vita quotidiana si utilizza comunemente l’umidità relativa dell’aria, espressa in %RH. L’umidità relativa è strettamente legata alla temperatura. Per un determinato volume di gas sigillato, più alta è la temperatura, più bassa sarà l’umidità relativa, e viceversa.

img_Dht11

In questo kit è incluso un sensore digitale di base per la temperatura e l’umidità, il DHT11. Utilizza un sensore di umidità capacitivo e un termistore per misurare l’aria circostante e restituisce un segnale digitale sui pin dei dati (non sono richiesti pin di ingresso analogico).

Componenti Necessari

In questo progetto, ci servono i seguenti componenti.

È sicuramente conveniente acquistare un intero kit, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK PER L’ACQUISTO

Kepler Kit

450+

Kepler Ultimate Kit

Puoi anche acquistarli separatamente dai link qui sotto.

SN

INTRODUZIONE COMPONENTE

QUANTITÀ

LINK PER L’ACQUISTO

1

Introduzione al Pico W

1

ACQUISTA

2

Cavo Micro USB

1

3

Breadboard

1

ACQUISTA

4

Cavi Jumper

Diversi

ACQUISTA

5

Sensore di Umidità e Temperatura DHT11

1

ACQUISTA

Schema Elettrico

sch_dht11

Cablaggio

wiring_dht11

Codice

Nota

  • Puoi aprire il file 6.2_dht11.ino nel percorso kepler-kit-main/arduino/6.2_dht11.

  • Oppure copia questo codice nell”Arduino IDE.

  • Non dimenticare di selezionare la scheda (Raspberry Pi Pico) e la porta corretta prima di cliccare sul pulsante Upload.

  • La libreria DHT sensor library è utilizzata qui, puoi installarla dal Library Manager.

    ../_images/lib_dht.png

Dopo l’esecuzione del codice, vedrai il Serial Monitor stampare continuamente la temperatura e l’umidità, e man mano che il programma si stabilizza, questi due valori diventeranno sempre più precisi.

Come funziona?

  1. Inclusione delle librerie necessarie e definizione delle costanti. Questa parte del codice include la libreria del sensore DHT e definisce il numero del pin e il tipo di sensore utilizzati in questo progetto.

    #include <DHT.h>
    #define DHTPIN 16       // Definire il pin utilizzato per connettere il sensore
    #define DHTTYPE DHT11  // Definire il tipo di sensore
    
  2. Creazione dell’oggetto DHT. Qui creiamo un oggetto DHT utilizzando il numero di pin e il tipo di sensore definiti.

    DHT dht(DHTPIN, DHTTYPE);  // Creare un oggetto DHT
    
  3. Questa funzione viene eseguita una sola volta quando l’Arduino si avvia. In questa funzione inizializziamo la comunicazione seriale e il sensore DHT.

    void setup() {
      Serial.begin(9600);
      Serial.println(F("Test DHT11!"));
      dht.begin();  // Inizializzare il sensore DHT
    }
    
  4. Ciclo principale. La funzione loop() viene eseguita continuamente dopo la funzione setup. Qui, leggiamo i valori di umidità e temperatura, calcoliamo l’indice di calore e stampiamo questi valori sul monitor seriale. Se la lettura del sensore fallisce (restituisce NaN), stampa un messaggio di errore.

    Nota

    L” heat index è un modo per misurare quanto caldo sembra all’esterno combinando la temperatura dell’aria e l’umidità. Viene anche chiamata «temperatura percepita» o «temperatura apparente».

    void loop() {
      delay(2000);
      float h = dht.readHumidity();
      float t = dht.readTemperature();
      float f = dht.readTemperature(true);
      if (isnan(h) || isnan(t) || isnan(f)) {
        Serial.println(F("Failed to read from DHT sensor!"));
        return;
      }
      float hif = dht.computeHeatIndex(f, h);
      float hic = dht.computeHeatIndex(t, h, false);
      Serial.print(F("Humidity: "));
      Serial.print(h);
      Serial.print(F("%  Temperature: "));
      Serial.print(t);
      Serial.print(F("°C "));
      Serial.print(f);
      Serial.print(F("°F  Heat index: "));
      Serial.print(hic);
      Serial.print(F("°C "));
      Serial.print(hif);
      Serial.println(F("°F"));
    }