Sommario:

Orologio della stazione meteorologica ESP8266: 4 passaggi
Orologio della stazione meteorologica ESP8266: 4 passaggi

Video: Orologio della stazione meteorologica ESP8266: 4 passaggi

Video: Orologio della stazione meteorologica ESP8266: 4 passaggi
Video: ☔️☁️VideoTutorial: MagiCube |EP1| - Stazione Meteo (4K UHD) ☁️☔️ 2024, Novembre
Anonim
Orologio della stazione meteorologica ESP8266
Orologio della stazione meteorologica ESP8266

Questo progetto è un bel modo per mostrare l'ora e il tempo in un piccolo pacchetto conveniente. Spiegherò il progetto, come funziona e mostrerò il codice qui.

È possibile premere diversi pulsanti per mostrare il tempo attuale in una posizione prestabilita, nonché la temperatura e la pressione. La visualizzazione predefinita è l'ora che viene estratta da un server NTP.

Non è necessario impostare l'ora poiché l'ora viene sincronizzata dal server NTP ed è molto precisa. In questa configurazione ho l'ora e l'indirizzo IP locale. È possibile modificare il codice per includere data, meteo, pressione e temperatura da visualizzare sulla schermata principale o sui pulsanti.

Passaggio 1: lo schema

Lo schema
Lo schema
Lo schema
Lo schema

Lo schema è relativamente semplice e facile da

Seguire. C'è un file gerber se desideri girare il tuo PCB. L'intero circuito è pilotato da 5V provenienti da una connessione micro USB. Questo rende il circuito semplice e facile da alimentare. Il 5V viene alimentato in un regolatore Low Dropout 3.3V un LM 3940 che fornisce 3.3V all'ESP8266. C'è un connettore USB sull'ESP8266, tuttavia, ho scelto di non usarlo in generale perché il 5V sta guidando anche l'LCD.

3,3 V deve essere utilizzato con ESP8266, non è possibile guidarlo direttamente con 5 V poiché ucciderà la scheda.

I due interruttori tattili sono collegati a D5 e D6 e sono configurati nel codice per visualizzare diverse informazioni sullo schermo. Li ho impostati su Temperatura/Pressione e Previsione.

Tutti i componenti sono facilmente saldabili a mano su perfboard o il gerber è disponibile nel mio GitHub su

Passaggio 2: il codice

github.com/allenelectronics/esp8266weatherstation

Il codice è compilato nell'IDE di Arduino e necessita di alcune configurazioni per funzionare

Innanzitutto, è necessario installare la scheda ESP8266 sull'IDE per caricare il codice su di essa.

Istruzioni complete su come farlo sono qui:

Per ottenere la funzionalità meteo, ho scelto di utilizzare RemoteMe che raccoglie i dati meteo direttamente dall'API e genera codice che può essere inserito nel tuo codice. Dovrai registrarti e impostare il flusso di dati sul loro sito Web:

La documentazione su RemoteMe può essere trovata qui:

Ci sono alcune definizioni specifiche che sono uniche per la tua configurazione che dovrai completare prima del caricamento:

#define WIFI_NAME "SSID VA QUI"

#define WIFI_PASSWORD "LA PASSWORD VA QUI"

#define DEVICE_ID 1

#define DEVICE_NAME "OTTIENI DA REMOTEME. ORG"

#define TOKEN "OTTIENI DA REMOTEME. ORG"

Le definizioni qui devono essere impostate da te in base ai tuoi dettagli wifi e al token che ottieni da RemoteMe.

Devi assicurarti che tutte queste librerie siano installate e incluse nel codice. Ho incluso i collegamenti a quelli che sono più difficili da ottenere.

#include //https://github.com/remoteme/RemoteMeArduinoLibrary

#includere

#includere

#includere

#includere

L'ultima parte che deve essere modificata è la tua posizione poiché questo progetto non utilizza il GPS. Devi modificare la stringa "LOCATION":

else if(StatoPulsante2 == LOW && prevButtonState2== HIGH){

Serial.print("LOCAZIONE\n");

Serial.println(fc);

lcd.clear();

lcd.print("LOCAZIONE");

lcd.setCursor(0, 1);

lcd.print(fc);

lcd.setCursor(0, 0);

ritardo (5000);

prevButtonState2 = buttonState2;

Passaggio 3: la costruzione

la costruzione
la costruzione
la costruzione
la costruzione

la costruzione

All'epoca non avevo accesso a una stampante 3D, questo era il mio ultimo progetto utilizzando una custodia standard. Ho usato una custodia per pannello di allarme prontamente disponibile progettata per l'LCD 16x2.

Link: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Tutto è infilato all'interno del case, il display LCD 16x2 è incollato al pannello frontale con il circuito stampato incollato a caldo.

Passaggio 4: conclusione

Conclusione

Questo è un progetto accurato per un orologio digitale desktop che non necessita di regolazione o impostazione, prende il tempo da un server NTP e lo visualizza su un chiaro LCD retroilluminato.

Questo non è per un principiante assoluto in quanto è necessaria una configurazione del codice e anche i flussi di dati devono essere impostati. Se hai domande o commenti, non esitare a lasciarmi un commento.

Consigliato: