Sommario:

ESP8266/ESP32 Stazione meteorologica con LCD TFT: 8 passaggi
ESP8266/ESP32 Stazione meteorologica con LCD TFT: 8 passaggi

Video: ESP8266/ESP32 Stazione meteorologica con LCD TFT: 8 passaggi

Video: ESP8266/ESP32 Stazione meteorologica con LCD TFT: 8 passaggi
Video: Stazione Meteo WIFI e Touch-screen con ESP8266 2024, Novembre
Anonim
ESP8266/ESP32 Stazione meteorologica con LCD TFT
ESP8266/ESP32 Stazione meteorologica con LCD TFT
ESP8266/ESP32 Stazione meteorologica con LCD TFT
ESP8266/ESP32 Stazione meteorologica con LCD TFT
ESP8266/ESP32 Stazione meteorologica con LCD TFT
ESP8266/ESP32 Stazione meteorologica con LCD TFT

Ciao!

In questo breve tutorial vorrei presentare il mio secondo progetto Esp8266 WS. Da quando ho pubblicato il mio primo progetto ESP, volevo crearne un secondo. Quindi ho avuto del tempo libero per rielaborare un vecchio codice sorgente per adattarlo alle mie esigenze.

Quindi se non ti dispiace te lo presento.

Passaggio 1: la stazione meteorologica

Il WS utilizza ancora la chiave API openweathermap per scaricare i dati meteo e visualizzarli sullo schermo.

Era necessaria una piccola codifica perché in quella forma non poteva visualizzare le icone meteorologiche che volevo.

Passaggio 2: materiali

Parti necessarie per WS:

- Nodemcu V3 ESP8266

- LCD TFT da 1,8 pollici con driver ST7735 IC

- Fili F-F

- Codice sorgente

- Arduino IDE

- Supporto SPIFFS

- Chiave API Openweathermap

Passaggio 3: software

Per questo progetto sto fornendo il codice sorgente e le immagini bitmap necessarie, scaricalo dalla mia pagina github:

La libreria che ho usato è la TFT_eSPI creata da Bodmer.

Tutto quello che devi fare: scaricare le librerie corrette, compilarlo e caricarlo sulla scheda, caricare le immagini bitmap con SPIFFS su ESP e connettersi con lcd.

Ho usato immagini bitmap a 24 bit 100 X100, ma puoi usare qualsiasi altra icona. Quelli che ho usato sono stati scaricati da

Passaggio 4: piedinatura LCD

Il pinout è il seguente:

// Visualizza SDO/MISO sul pin D6 di NodeMCU (o lascia disconnesso se non legge TFT)

// Visualizza LED su NodeMCU pin VIN (o 5V, vedi sotto)

// Visualizza SCK sul pin NodeMCU D5

// Visualizza SDI/MOSI su NodeMCU pin D7

// Visualizza DC (RS/AO) sul pin D3 di NodeMCU

// Visualizza RESET su NodeMCU pin D4 (o RST, vedi sotto)

// Visualizza CS su NodeMCU pin D8 (o GND, vedi sotto)

// Visualizza GND sul pin NodeMCU GND (0V)

// Visualizza VCC su NodeMCU 5V o 3.3V

Per ridurre la retroilluminazione è possibile utilizzare un potenziometro da 10K o utilizzare un altro pin GPIO. Per quanto mi riguarda, di solito collego il pin della retroilluminazione al pin TX. So che non è una buona idea o molto salutare per l'ESP, ma funziona in questo modo.

Passaggio 5: WS in azione

WS in azione
WS in azione
WS in azione
WS in azione
WS in azione
WS in azione

Dopo aver fatto tutto correttamente, puoi vedere che la stazione meteorologica si sta connettendo a Internet e sta scaricando i dati meteorologici.

I diversi parametri sono separati in diversi loop.

Quello che vedi è la descrizione del tempo reale, la temperatura, l'umidità, la velocità del vento, la visibilità in metri, la pressione dell'aria, l'angolo del vento, la copertura nuvolosa in percentuale (%).

Per quanto riguarda un bonus tra le 21:00 e le 7:00 il display si inverte per simboleggiare la notte.

Passaggio 6: alcuni suggerimenti importanti

Alcuni suggerimenti importanti
Alcuni suggerimenti importanti
Alcuni suggerimenti importanti
Alcuni suggerimenti importanti
Alcuni suggerimenti importanti
Alcuni suggerimenti importanti

Come tutti sapete, ci sono alcune varianti del TFT da 1,8 su Internet. Con i lcd Adafruit originali di solito non ci sono problemi. Ma quando si usano quelli falsi (di solito da Aliexpress) è necessario apportare alcune modifiche.

La libreria Bodmers TFT_eSPI è molto bella e ricca di funzionalità. E la parte migliore è che è riuscito a gestire gli offset dei pixel a seconda del tipo di TFT da 1,8 che stai utilizzando.

Per ovviare a questo problema suggerisco quanto segue:

Vai alla cartella della libreria e modifica il file User_Setup.h. Decommenta #define ST7735_DRIVER e commenta gli altri.

Quindi decommentare l'altezza tft e la larghezza. E poi nel mio caso (REDTAB) decommenta per es: #define ST7735_REDTAB. Dopodiché salvalo per il momento e compila lo schizzo e caricalo sulla scheda. Per essere sicuro ho definito i parametri anche nello sketch. Questa è una procedura un po' lunga, perché devi compilare e caricare lo sketch ogni volta sulla scheda fino a quando l'offset non è sparito, ma vale la pena sperimentare. Per modificare l'h. file consiglio vivamente Wordpad. Immagini incluse.

Passaggio 7: fatto

Dopo aver fatto tutto correttamente puoi goderti questo piccolo gadget. Ho provato ad accoppiare le immagini bitmap con i codici meteo nel miglior modo possibile, ma al momento lo sto ancora testando.

Fondamentalmente l'ho appena fatto per me stesso, ma dopo un giorno ho pensato di condividerlo. Forse a qualcuno piacerà più di me.

Grazie per aver letto il mio istruibile, spero che lo troverai utile e lo usi come preferisci.

Buona giornata!

Passaggio 8: un piccolo aggiornamento

Un piccolo aggiornamento
Un piccolo aggiornamento
Un piccolo aggiornamento
Un piccolo aggiornamento
Un piccolo aggiornamento
Un piccolo aggiornamento

Dopo alcuni giorni ho pensato di rifare questo WS in una nuova forma.

Modifiche: ESP32 Uno R3

LCD TFT parallelo ILI9340/41

Nuove icone

1 opzione in più

Pls modifica il file User_setup.h nella libreria TFT_eSPI di conseguenza nello schizzo. Pls decommentarli e commentare l'altra opzione o altrimenti non funzionerà.

Devi collegare GPIO 35 a 15, GPIO 33 a 34, GPIO 32 a 36 perché sono solo pin di input e quindi il nostro display non funzionerà (vedi immagine).

Il codice sorgente è disponibile su github.

Consigliato: