In questo progetto, utilizzeremo il sensore Arduino Nano e DHT11 per creare un sistema di monitoraggio della temperatura e dell'umidità. Arduino Nano leggerà i valori di temperatura e umidità da DHT11 e mostrerà su OLED.
Questo tutorial copre i seguenti contenuti:
1: Introduzione al sensore DHT11
2: DHT11 Sensore Pinout
2.Sensore DHT11 1: 3 pin
2.2: Sensore DHT11 a 4 pin
3: Modulo di visualizzazione OLED con Arduino Nano
4: installazione delle librerie richieste
4.1: Biblioteca Arduino per il sensore DHT
4.2: biblioteca Arduino per display OLED
5: Controlla l'indirizzo I2C display OLED in Arduino Nano
6: Interfacing Arduino Nano con sensore DHT11 e OLED
6.1: schema
6.2: codice
6.3: output
1: Introduzione al sensore DHT11
Il sensore DHT11 è un dispositivo compatto e a basso costo per misurare la temperatura e l'umidità. Arduino Nano con DHT11 viene utilizzato per la progettazione di stazioni meteorologiche portatili, sistemi HVAC e sistemi di automazione domestica.
Il sensore DHT11 è costituito da un elemento di rilevamento dell'umidità e un elemento di rilevamento della temperatura, che sono combinati su un singolo circuito integrato. Il sensore è in grado di misurare sia l'umidità e la temperatura relative, e può trasmettere questi dati tramite un segnale digitale a un microcontrollore o altro dispositivo.
Il sensore DHT11 può essere integrato e controllato utilizzando il codice Arduino. Può essere collegato a un microcontrollore o un computer a bordo singola utilizzando fili jumper e una breadboard e può essere facilmente integrato in una varietà di progetti.
Alcune importanti specifiche di DHT11:
Ora abbiamo coperto le basi del sensore DHT11. Ora discuteremo del pinout di DHT11.
2: DHT11 Sensore Pinout
DHT11 ha due varianti, una con 4 pin e altre con 3 pin. L'unica differenza qui è che il sensore DHT11 a 4 pin ha un pin aggiuntivo senza connessione. Questo pin è etichettato come Nc e non utilizzato per alcuno scopo.
I 3 pin di DHT11 sono:
2.Sensore DHT11 1: 3 pin
Seguendo il pinout è di 3 pin DHT11:
1 | Dati | Letture della temperatura di uscita e valori di umidità |
2 | VCC | Tensione di ingresso tra 3.5v a 5.5v |
3 | GND | GND |
2.2: Sensore DHT11 a 4 pin
Di seguito è riportato il pinout del sensore DHT11 a 4 pin:
Questi 4 pin di sensore DHT11 includono:
1 | VCC | Ingresso 3.5v a 5.5v |
2 | Dati | Letture di temperatura e umidità di produzione |
3 | Nc | Nessun pin di connessione |
4 | GND | GND |
3: Modulo di visualizzazione OLED con Arduino Nano
Il display OLED viene fornito principalmente con due diversi protocolli di comunicazione. Questi due sono i2c e SPI. Il protocollo SPI è più veloce rispetto a I2C, ma I2C è preferito e ha il vantaggio rispetto a SPI a causa di meno pin richiesti.
La seguente immagine illustra un diagramma di connessione Arduino Nano con 128 × 64 pixel (0.96 ") display OLED.
La tabella sotto mostra la configurazione di pinout di OLED con nano:
Dato che abbiamo interfacciato Arduino Nano con un display OLED. Per visualizzare i dati su uno schermo OLED dobbiamo prima installare alcune librerie necessarie.
4: installazione delle librerie richieste
Stiamo interfacciando due sensori; Uno è un display OLED e l'altro è un sensore DHT11. Entrambi i sensori hanno richiesto librerie separate per il funzionamento. Ora installeremo librerie separate per schermate DHT11 e OLED.
4.1: Biblioteca Arduino per il sensore DHT
Open IDE, vai a: Schizzo> Includi la libreria> Gestisci le biblioteche:
Si può anche utilizzare l'Arduino Library Manager per l'installazione di librerie. Cerca la libreria del sensore DHT11 e installa la versione aggiornata. Questa libreria leggerà i dati dal sensore DHT11.
Ora installeremo il Biblioteca di sensori unificati.
Le librerie di sensori DHT11 sono installate. Successivamente, le librerie OLED devono essere installate.
4.2: biblioteca Arduino per display OLED
Ci sono un certo numero di librerie disponibili per il display OLED in IDE. Useremo la libreria Adafruit GFX e SSD1306 per display OLED.
Apri l'IDE e cerca nella libreria SSD1306 nel gestore della biblioteca:
Dopo aver installato la libreria SSD1306, installare il Gfx Biblioteca di Adafruit:
Abbiamo installato librerie per entrambi i sensori e ora possiamo caricare il codice in Arduino Nano. Ma prima è necessario controllare l'indirizzo I2C OLED.
5: Controlla l'indirizzo I2C display OLED in Arduino Nano
I2C consente a più dispositivi di essere collegati e comunicare tra loro su un'interfaccia a due fili. Ogni dispositivo I2C deve avere un indirizzo univoco, che va da 0 a 127, per assicurarsi che possa essere identificato e comunicato sulla linea I2C. Dispositivi multipli con lo stesso indirizzo non possono essere collegati sullo stesso bus i2c.
Collegare il display OLED con Arduino Nano e dopo aver selezionato la scheda e la porta in Arduino IDE Carica il codice indicato nell'articolo Scan I2C Devices in Arduino. Dopo il caricamento del codice, otterremo l'indirizzo I2C del display OLED che nel nostro caso è 0x3c:
Definiremo questo indirizzo i2c all'interno del codice Arduino.
6: Interfacing Arduino Nano con sensore DHT11 e OLED
Per l'interfaccia di Arduino Nano con DHT11, verrà utilizzato un perno digitale di Nano Board. Per alimentare il DHT11 5v Il perno della scheda nano verrà interfacciato.
Per i pin di schermo OLED SDA E SCL A A4 E A5 verranno usati i pin di Arduino Nano. Per alimentare un pin da 5v OLED di Arduino Nano verrà utilizzato.
6.1: schema
Di seguito è riportato il diagramma schematico di Arduino Nano con sensore DHT11 e per visualizzare i valori di lettura uno schermo OLED viene utilizzato. Questa immagine schematica è del sensore DHT11 a 3 pin. Il resistore pull up da 10kΩ è integrato all'uscita DHT11.
Allo stesso modo, un sensore DHT11 a 4 pin è collegato con una scheda nano. Il display OLED è collegato a pin GPIO A4 e A5 di Nano usando la comunicazione I2C. DHT11 Pin 2 è output dei dati. Il DHT11 a 4 pin ha 1 pin extra che non serve a nulla.
6.2: codice
Collega Arduino Nano e carica il codice dato:
#include /*libreria di comunicazione filo* /All'inizio del codice, abbiamo incluso le librerie di sensori OLED e DHT. La prossima dimensione dello schermo OLED è definita in pixel. Dopo quel tipo di sensore DHT viene inizializzato. Se si utilizza qualsiasi altro tipo di DHT11, rimprovera il nome del sensore di conseguenza all'interno del codice.
Next in Codice abbiamo inizializzato il sensore DHT e OLED. L'OLED è collegato all'indirizzo 0x3c I2C. L'indirizzo I2C può essere verificato utilizzando il codice in questo articolo.
Le due variabili float T E H memorizzerà rispettivamente i valori di temperatura e umidità. Lasty in codice Tutti i valori vengono visualizzati su uno schermo OLED utilizzando le funzioni della libreria GFX OLED.
6.3: output
L'output mostra i valori di temperatura e umidità in tempo reale visualizzati sullo schermo OLED:
Abbiamo completato l'interfaccia del sensore OLED e DHT11 con la scheda Arduino Nano.
Conclusione
Arduino Nano può essere integrato con più sensori. Questo articolo copre l'interfaccia del sensore OLED e DHT11 con Arduino Nano. Usando il DHT11 abbiamo misurato la temperatura e l'umidità che vengono visualizzati su OLED. Utilizzando il codice dato, è possibile programmare qualsiasi nano Arduino per visualizzare le letture dei sensori su uno schermo OLED.