Sommario:
- Fase 1: Modulo grafico LCD 128x128 RGB TFT ILI 9163C
- Passaggio 2: sensore di umidità e temperatura AM2302 DHT22
- Passaggio 3: circuito
- Passaggio 4: assemblaggio
- Passaggio 5: libreria
- Passaggio 6: codice
- Passaggio 7: alcune altre funzioni interessanti
Video: Termometro digitale ESP8266 con display LCD: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Oggi ti mostrerò come utilizzare un display LCD TFT su ESP8266 NodeMCU per visualizzare i dati di temperatura e umidità per un determinato ambiente in tempo reale. Faccio un esempio di utilizzo del display con DHT22, che è il misuratore di temperatura e umidità. In questo video, nello specifico, utilizzo un display compatto per il nostro termometro digitale, che è grafico e permette il monitoraggio sul sistema stesso. L'obiettivo di oggi, quindi, è quello di conoscere la gestione del display a cristalli liquidi utilizzando l'ESP8266.
Fase 1: Modulo grafico LCD 128x128 RGB TFT ILI 9163C
Il display che utilizziamo in questo progetto è 128x128 pixel. Lo 0, 0 si trova nell'angolo in alto a sinistra e questo modello ha sia funzioni di stampa del testo che di stampa grafica, di cui parleremo più avanti.
Passaggio 2: sensore di umidità e temperatura AM2302 DHT22
Useremo l'AM2302 DHT22 nel nostro assemblaggio, che è un sensore che mi piace molto, in quanto è molto preciso.
Passaggio 3: circuito
Nel progetto, abbiamo un ESP8266 già programmato e che utilizza l'alimentazione USB. Il DHT22 è collegato ai dati e la resistenza di pull-up all'ESP8266, che controlla il display LCD.
Passaggio 4: assemblaggio
Qui abbiamo lo schema elettrico del nostro assieme, che mostra il NodeMCU, il sensore e il display. Ricorda che questo è un display seriale, i2c, che è più facile da usare perché ha più pin.
Passaggio 5: libreria
Dato che andremo a programmare il display con il linguaggio Arduino C, abbiamo bisogno della libreria DHT22, oltre che del display LCD.
Innanzitutto, aggiungere la seguente libreria "Libreria di sensori DHT" per la comunicazione con il sensore di umidità e temperatura.
Accedi semplicemente a "Schizzo >> Includi librerie >> Gestisci librerie …"
Ora aggiungi la seguente libreria, "Adafruit-GFX-Library-master".
Accedi semplicemente a "Schizzo >> Includi librerie >> Gestisci librerie …"
Inoltre, aggiungere la libreria "TFT_ILI9163C" per la comunicazione con il modulo grafico LCD.
Accedi al link ((((((https://github.com/sumotoy/TFT_ILI9163C))))) e scarica la libreria.
Decomprimi il file e incollalo nella cartella delle librerie dell'IDE di Arduino.
C: / Programmi (x86) / Arduino / librerie
Passaggio 6: codice
Per prima cosa aggiungiamo le librerie che verranno utilizzate nel nostro codice.
#include //utilizada para se comunicar com o módulo LCD#include //utilizada para se comunicar com o sensor de umiditàde e temperatura
Definizioni
Vedremo di seguito le variabili che utilizzeremo durante il programma, e l'istanza degli oggetti.
#define DHTPIN D6 // pino que conectaremos o sensor DHT22#define DHTTYPE DHT22 // DHT22 é o tipo do sensor que utilizaremos (importante para o construtor) DHT dht(DHTPIN, DHTTYPE); // construtor do objeto que utilizaremos para se comunicar com o sensor // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0FF #define WHITE 0x define _CS D1 // Pino che collega o CS fa il modulo LCD #define _DC D4 // Pino che collega o RS fa il modulo LCD TFT_ILI9163C display = TFT_ILI9163C(_CS, _DC); // construtor do objeto que utilizaremos para se comunicar com o módulo LCD
Impostare
Nella funzione setup(), inizializziamo la variabile "dht", che è responsabile della comunicazione con il sensore di umidità e temperatura. Inoltre, inizializzeremo la variabile "display" che viene utilizzata per comunicare con il modulo LCD.
Configurare anche l'oggetto per iniziare a disegnare sullo schermo.
void setup(void) { dht.begin(); // Inizializzazione per comunicare con il sensore display.begin(); // Inizializzazione per comunicare con il modulo LCD display.clearScreen(); // limpa a tela, rimuovendo tutti i dettagli display.fillScreen(BLACK); // pinta a tela toda de preto display.setTextSize(2); // configura o tamanho do texto com o tamanho 2 display.setTextColor(GREEN); // configura a cor do texto como verde display.setCursor(5, 10); // posiciona o cursor para começar a escrita a partir do (x, y) display.print("TEMPERATUR"); // escreve em tela display.setCursor(22, 70); // reposiciona o cursore display.print("UMIDADE"); // escreve la tela display.setTextColor(WHITE); // configura a cor do texto como branco (a partir de agora) delay(1000); // espera de 1 secondo }
Ciclo continuo
Nella funzione loop(), recupereremo l'umidità e le temperature lette dal sensore e scritte sullo schermo nella posizione specifica. Ad ogni intervallo di 5 secondi, il valore viene letto dal sensore e scritto sullo schermo.
void loop(){ int h = dht.readHumidity(); // faz a leitura da umidode do sensor int t = dht.readTemperature(); // faz a leitura da temperatura do sensor //as 2 linhas seguintes utilizando o método “fillRect”, são para fazer a limpeza do local onde escreveremos a umidode e a temperatura, apagares o valor atual para escrever novamente aggiornato. display.fillRect(5, 32, 120, 20, NERO); // fillRect(x, y, larghezza, altezza, colore); display.fillRect(5, 92, 120, 20, NERO); display.setCursor(40, 35); // riposiziona il cursore per escrever display.print(t); // escreve a temperatura em tela display.print((char)247); // escreve o símbolo de grau ° através de código display.print("C"); // coloca o “C” para indicar que é graus Celcius display.setCursor(40, 95); // riposiziona il cursore per escrever display.print(h); // escreve un umidode em tela display.print("%"); // escreve o símbolo de “porcentagem” para indicar a umidode delay(5000); }
Passaggio 7: alcune altre funzioni interessanti
// Ruota il contenuto dello schermo (parametri 0, 1, 2 o 3)
display.setRotation (uint8_t);
// Inverte i colori del display (fa un negativo)
display.invertDisplay (booleano);
// Disegna un singolo pixel sullo schermo nella posizione (x, y)
display.drawPixel (x, y, colore);
// Disegna una linea verticale in posizione
display.drawFastVLine (x, y, larghezza, colore);
// Disegna una linea verticale nella posizione specificata
display.drawFastHLine (x, y, larghezza, colore);
// Disegna una linea orizzontale nella posizione specificata
display.drawRect (x, y, larghezza, altezza, colore);
// Disegna un cerchio nella posizione specificata
display.drawCircle (x, y, raggio, colore);
Consigliato:
Usa lo smartphone come termometro senza contatto/termometro portatile: 8 passaggi (con immagini)
Usa lo smartphone come termometro senza contatto / termometro portatile: misurazione della temperatura corporea senza contatto / senza contatto come una pistola termica. Ho creato questo progetto perché la pistola termica ora è molto costosa, quindi devo trovare un'alternativa per fare il fai-da-te. E lo scopo è fare con la versione a basso budget.SuppliesMLX90614Ardu
Termometro digitale DHT11 con ESP8266: 4 passaggi
Termometro digitale DHT11 Utilizzo di ESP8266: nell'articolo precedente ho già discusso di DH11 e di come visualizzarlo su dispositivi di output come 7 Segment, LCD, monitor seriale e anello RGB. E in questo articolo ti mostrerò come monitorare temperatura e umidità utilizzando un browser su un cellulare
Termometro a infrarossi senza contatto basato su Arduino - Termometro a infrarossi con Arduino: 4 passaggi
Termometro a infrarossi senza contatto basato su Arduino | Termometro a infrarossi con Arduino: Ciao ragazzi in questo tutorial faremo un termometro senza contatto usando arduino. Poiché a volte la temperatura del liquido/solido è troppo alta o troppo bassa e quindi è difficile entrare in contatto con esso e leggerlo temperatura poi in quella scena
Display LCD I2C / IIC - Utilizzare un display LCD SPI sul display LCD I2C utilizzando il modulo SPI su IIC con Arduino: 5 passaggi
Display LCD I2C / IIC | Utilizzare un display LCD SPI per il display LCD I2C utilizzando il modulo da SPI a IIC con Arduino: Ciao ragazzi poiché un normale LCD 1602 SPI ha troppi fili da collegare, quindi è molto difficile interfacciarlo con arduino ma c'è un modulo disponibile sul mercato che può convertire il display SPI in display IIC, quindi è necessario collegare solo 4 fili
Termometro digitale Acme con sonda di temperatura DS18B20 e LCD I2C: 5 passaggi
Acme Digital Thermometer W/ DS18B20 Temp Probe & I2C LCD: questo è un progetto molto semplice che non costa molto e non richiederà molto tempo. L'ho messo in una scatola Amazon perché c'era, ma poteva essere montato praticamente su qualsiasi cosa