.. note:: 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 [|link_sf_facebook|] e unisciti oggi stesso! .. _ar_dht11: 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). * :ref:`cpn_dht11` **Componenti Necessari** In questo progetto, ci servono i seguenti componenti. È sicuramente conveniente acquistare un intero kit, ecco il link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nome - ELEMENTI IN QUESTO KIT - LINK PER L'ACQUISTO * - Kepler Kit - 450+ - |link_kepler_kit| Puoi anche acquistarli separatamente dai link qui sotto. .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - SN - INTRODUZIONE COMPONENTE - QUANTITÀ - LINK PER L'ACQUISTO * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - Cavo Micro USB - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - Diversi - |link_wires_buy| * - 5 - :ref:`cpn_dht11` - 1 - |link_dht22_buy| **Schema Elettrico** |sch_dht11| **Cablaggio** |wiring_dht11| **Codice** .. note:: * 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**. .. image:: img/lib_dht.png .. raw:: html 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?** #. 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. .. code-block:: arduino #include #define DHTPIN 16 // Definire il pin utilizzato per connettere il sensore #define DHTTYPE DHT11 // Definire il tipo di sensore #. Creazione dell'oggetto DHT. Qui creiamo un oggetto DHT utilizzando il numero di pin e il tipo di sensore definiti. .. code-block:: arduino DHT dht(DHTPIN, DHTTYPE); // Creare un oggetto DHT #. Questa funzione viene eseguita una sola volta quando l'Arduino si avvia. In questa funzione inizializziamo la comunicazione seriale e il sensore DHT. .. code-block:: arduino void setup() { Serial.begin(9600); Serial.println(F("Test DHT11!")); dht.begin(); // Inizializzare il sensore DHT } #. 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. .. note:: L' |link_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". .. code-block:: arduino 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")); }