Sommario:

NON PIU' PRIMAVERA IN AVANTI: 5 Passi
NON PIU' PRIMAVERA IN AVANTI: 5 Passi

Video: NON PIU' PRIMAVERA IN AVANTI: 5 Passi

Video: NON PIU' PRIMAVERA IN AVANTI: 5 Passi
Video: Chiara Galiazzo - Mille passi (Videoclip) ft. Fiorella Mannoia 2024, Dicembre
Anonim
NON PIU' PRIMAVERA IN AVANTI
NON PIU' PRIMAVERA IN AVANTI
NON PIU' PRIMAVERA IN AVANTI
NON PIU' PRIMAVERA IN AVANTI

Titolo alternativo: IP Time Clock parte 3

Se ti piace, lo sto partecipando al concorso Orologio.

Sei stanco di dover scattare in avanti?

Sei stanco di dover ricadere?

Bene, lo sono. Ho questa vecchia sveglia che ha risolto questo problema (per un po') (vedi immagine) si regolerebbe automaticamente per l'ora legale e (credo) ha la batteria di riserva in caso di interruzione dell'alimentazione. Sfortunatamente, diversi anni fa, gli Stati Uniti hanno deciso di cambiare i giorni per cambiare l'ora. Quindi ora questo orologio deve essere cambiato manualmente quattro volte all'anno! Lo uso solo come backup.

Quindi questo Lazy Old Geek (LOG) voleva l'orologio perfetto. Ognuno è diverso e i tempi cambiano (Ha!Ha!) e gli ideali cambiano. Ecco il mio orologio da camera ideale.

Sempre visibile di notte. AVVISO: Nessun secondo lampeggiante di notte, è troppo distratto.

DST automatico (ora legale). Odio dover cambiare l'ora due volte l'anno.

Visualizza il giorno della settimana. Dato che sono VECCHIA e non ricordo.

Quindi mi piacciono i secondi al mattino L'annuncio dice gargarismi per 30 secondi, quindi mi piace un orologio che mostra i secondi.

Nessuna luce blu. Sappiamo tutti che la luce blu fa male. Non sempre vero, vedi questo:

www.instructables.com/id/Blue-Light-Proje…

Ok, è piuttosto semplice. Molti orologi sono visibili di notte e molti non sono blu. Alcuni sono orologi "atomici" che si adattano all'ora legale. In realtà alcuni dei miei orologi "atomici" devo giocherellare con i cambi di ora legale.

Ora la situazione dei secondi è più specifica. In realtà ho progettato il mio per farlo in questo Instructable (anche se ho notato che non l'ho spiegato molto bene):

www.instructables.com/id/IP-Time-Clock-Par…

Questo orologio è durato circa quattro anni, relativamente esente da manutenzione fino a un paio di mesi fa, quando ha smesso di funzionare.

Passaggio 1: riparazione, primo passaggio

Riparazione, primo passo
Riparazione, primo passo
Riparazione, primo passo
Riparazione, primo passo
Riparazione, primo passo
Riparazione, primo passo

Schermata blu della morte, orologio IP (in realtà è nero).

Tecnobabble:

Una breve descrizione dell'orologio IP. Utilizza un microcontrollore ESP-03, questo si connette a Internet con WiFi. Ho saldato due strisce di intestazione maschio da 2 mm sull'ESP-03 in modo che si inserisca in una presa sul PCB.

Utilizza due display a sette cifre a 3 segmenti come:

Non ricordo se questi fossero catodo o anodo comune.

Un Max7219 per pilotare i display e i singoli led per i giorni della settimana.

Per maggiori dettagli, guarda il mio orologio IP parte 2 Instructable.

Bene, la prima cosa che ho provato è stata riprogrammare l'ESP-03 (microcontrollore), quindi ho guardato il mio Instructable e ho provato ma non mi ha permesso di programmarlo.

STORIA IRRILEVANTE: Ok, sono un VECCHIO quindi la mia mente vaga. Uno dei motivi per cui sono entrato in Instructables.com era che aveva ottimi Instructables su Arduino. È stato uno dei motivi principali per cui sono entrato in Arduino e ho imparato a usarli. Gli scrittori istruibili sono a tutti i livelli e abilità diversi, ma spesso riesco a trovarne alcuni che sono a un livello che posso capire. Quindi grazie Instructables per avermi aiutato nel corso degli anni.

Per ricambiare il favore, scrivo Instructables che spero possa aiutare gli altri.

Una seconda ragione per cui scrivo Instructables è per aiutarmi a ricordare come ho realizzato i progetti. Mentre scrivo Instructables cerco di fornire tutti i dettagli per fare quello che ho fatto. A quanto pare non faccio sempre un buon lavoro.

Ok, ho messo l'orologio IP in secondo piano.

La mia teoria è che più luce blu mi ha dato più energia (vedi sopra blueproject Instructable) e mi sono concentrato per rivisitare questo problema. Quello che alla fine ho capito è che il metodo che stavo usando per programmare ESP-03 non funzionava più. L'ho scritto in un altro Instructable:

www.instructables.com/id/2020-ESP8266/

Problema 1 risolto, ora posso programmare ESP-03 con schizzi Arduino.

Passaggio 2: risoluzione del problema successivo

Risolvere il prossimo problema
Risolvere il prossimo problema
Risolvere il prossimo problema
Risolvere il prossimo problema
Risolvere il problema successivo
Risolvere il problema successivo

Bene, ho programmato un ESP-03 con il mio vecchio sketch Arduino, l'ho inserito nel mio orologio IP, ancora non ha funzionato. Nel modo in cui avevo scritto lo schizzo, non veniva visualizzato nulla fino a quando non veniva stabilita una connessione a Internet e al server NTP (che fornisce l'ora esatta su Internet), quindi avevo uno schermo vuoto.

Usando il monitor seriale Arduino, ho potuto vedere che non si stava connettendo al server NTP.

NOTA: ESP-03 utilizza un microcontrollore ESP8266. Una delle cose belle dell'ESP8266 è che ha il WiFi integrato. In termini tecnici può connettersi a un hotspot WiFi o router WiFi che hanno molte case, inclusa la mia.

Diventando piuttosto tecnico qui, i nuovi router WiFi hanno due larghezze di banda, 2,4 GHz e 5,0 GHz. (Vedi immagine per il mio router) Mi piace pensare a loro come la differenza tra la radio AM e FM. (Ricordate quelli?)

Una limitazione di ESP8266 è che utilizzano solo la larghezza di banda di 2,4 GHz.

Roba più tecnica, quando ti connetti al WiFi hai bisogno di un identificatore chiamato SSID. È come una singola stazione radio, K Earth 101. E per motivi di sicurezza, hai anche bisogno di una password.

Bene, molti router WiFi dual band (2,4 GHz e 5 GHz) utilizzano lo stesso SSID per entrambe le bande.

Ad ogni modo, per qualche motivo, non sono riuscito a connettere un ESP-03 con il mio router. Mi sembra di ricordare altre persone che hanno avuto problemi simili.

In conclusione: ho configurato un altro router con SSID separati per la banda da 2,4 e 5 GHz, ad esempio "mtslink24" e "mtslink50" ed ero in grado di parlare su Internet. (Vedi immagine)

ATTENZIONE: se si dispone di un router dual band con gli stessi SSID su entrambe le bande, potrebbe non funzionare con gli ESP8266.

Passaggio 3: risoluzione dell'ultimo problema

Risolvere l'ultimo problema
Risolvere l'ultimo problema

Quello che vedevo era che non riuscivo ancora a connettermi al server NTP. Ho trovato un altro schizzo per vedere se ero in grado di usare Internet e funzionava, quindi il problema successivo sembrava essere la connessione al server NTP.

Bene, nel mio schizzo originale, ho usato un indirizzo IP per connettermi a un server NTP:

tf.nist.gov/tf-cgi/servers.cgi

Quindi ho provato diversi IP di Boulder e FT. Collins che sono molto più vicini a dove mi trovo. Nessuno di loro ha funzionato. Ha giocato un po' e in realtà ha fatto funzionare uno schizzo globale, ma si sarebbe bloccato solo forse una volta su cinque. Ho fatto qualche altra ricerca e ho trovato qualcosa chiamato pool.ntp.org. Apparentemente ciò che fa è ruotare attraverso un gruppo di indirizzi IP in modo che nessun singolo indirizzo venga sovraccaricato e tutti dovrebbero essere attivi.

Beh, non capisco molto bene questa programmazione WiFi, ma sono riuscito a trovare un esempio che avrei potuto adattare al mio schizzo e farlo funzionare. Yippee!

Passaggio 4: schizzo Arduino

Arduino Sketch
Arduino Sketch

In allegato è il mio schizzo di lavoro, Special.ino

Ecco alcuni commenti a riguardo:

Qui è dove inserisci il tuo SSID e la password. (Deve essere 2,4 GHz.)

char ssid = "YourSSID"; // SSID di rete (nome)

char pass = "La tua password SSID"; // password di rete

Utilizzo dell'elenco dei server pool.ntp.org.

IPAddress timeServerIP; // indirizzo del server NTP time.nist.gov

const char* ntpServerName = "pool.ntp.org";

//ricevo un server casuale dal pool WiFi.hostByName(ntpServerName, timeServerIP);

Due funzioni dell'ora legale:

void findChangeDates(); // Trova le date di cambio primavera/autunno

bool IsDST(); // Controlla se è DST

findChangeDates(); prende l'anno in corso e calcola quali giorni di marzo e novembre sono le date di passaggio

bool IsDST(); determina se il giorno corrente è l'ora legale o meno

void digitalOrologioDisplay()

Beh, sfortunatamente il mio vecchio cervello non riesce più a capirlo. Quello che penso che faccia è spegnere il display dei secondi dopo le 21:00. e li riaccende verso le 5 del mattino. Trovo molto fastidioso guardare un orologio quando sono a letto e vedere scorrere i secondi. Ma quando mi alzo la mattina mi piace vedere i secondi così posso "calcolare" i miei gargarismi.

Passaggio 5: programmazione dell'ESP-03 e conclusioni

Programmazione dell'ESP-03 e conclusioni
Programmazione dell'ESP-03 e conclusioni

Attualmente sto usando Arduino versione 1.8.12.

Il modo più semplice per installare il materiale ESP8266 è utilizzare Board Manager utilizzando questo metodo:

github.com/esp8266/Arduino#installing-with…

Una volta installato, quando seleziono Board, seleziono "Generic ESP8266 module".

ATTENZIONE: Sul mio PC sono presenti due versioni del “Modulo generico ESP8266”. Quello sotto la categoria "Schede ESP8266" funziona, quello sotto Sparkfun no.

Beh, sono pigro. Quello che ho effettivamente fatto è stato prendere un ESP-03 e programmarlo nel mio adattatore ESP modificato da:

www.instructables.com/id/2020-ESP8266/

Quello che avrei potuto fare è modificare il mio PCB IP Clock 2 secondo questo schema aggiungendo solo un paio di ponticelli.

Inoltre, ho modificato un adattatore USB CP2102 per collegare RTS al pin accanto a GND.

Con queste modifiche, è come caricare un normale schizzo Arduino senza dover premere alcun pulsante.

CONCLUSIONI: Beh, mi piace il mio orologio IP. Risponde a tutti i miei criteri. Nonostante ciò che mostra l'immagine, i LED sono rossi, non bianchi, quindi niente blu.

Consigliato: