Costruzione Orologio a led da parete - guida per dummies

gpb01:
4. precisione dello strumento che usi come riferimento

... il punto 4 è quello che mi preoccupa di più ::slight_smile: ... cosa usi come riferimento ?

sto usando un garmin fenix 3 come riferimento... normalmente è preciso al secondo con tutti gli altri riferimenti. ergo o ho trovato una cinesata più precisa di garmin oppure darei per scontato che è un riferimento corretto :).

Claudio_FF:
Nel mio RTC erano da rifare le saldature del portabatteria, e c'era anche da asportare la resistenza di carica (la 201 a fianco del diodo rosso) che con una CR2032 non va bene (se non ricordo male una è già schioppata).

si si... una è già scoppiata :smiling_imp: :smiling_imp: :smiling_imp: .... ma ho messo un altro RTC (sempre della stessa serie)... mi consigli di asportarla quella resistenza? ne metto un'altra oppure faccio senza?

Etemenanki:
Direi che non avendo le cifre dei secondi, anche se la lettura la si fa ogni 100ms o anche meno, non dovrebbe creare troppi problemi alla visualizzazione ...

cambiamo lo script? :slight_smile:

ghezzia:
...
cambiamo lo script? :slight_smile:

Mah ... non ne sono sicuro, ma dato che a quello script non gli fai fare altre funzioni, mi sa che se ti limiti ad aggiungere un delay(100) come prima istruzione del loop, ottieni piu o meno lo stesso effetto ... :smiley:

Etemenanki:
dato che a quello script non gli fai fare altre funzioni, mi sa che se ti limiti ad aggiungere un delay(100) come prima istruzione del loop, ottieni piu o meno lo stesso effetto

Diciamo di si, si altera leggermente la risposta del debounce/autorepeat dei pulsanti (ottenuta tramite millis), ma rimane funzionante. E' la modifica più semplice.

Altrimenti si definisce una nuova variabile globale 'tempoReadRTC', e nella funzione loop si modifica la chiamata a 'leggiRTC' subordinandola ad un periodo di 200ms realizzato con millis:

if(millis() - tempoReadRTC > 200){ // ogni 200ms
    leggiRTC();                    // lettura ora corrente da RTC
    tempoReadRTC += 200;
}

Per il resto va ricordato che ogni pressione dei pulsanti azzera i secondi dell'RTC, quindi se ci si gioca un po' riportando l'ora come era prima, si perdono ogni volta i secondi trascorsi (questa è una cosa voluta per consentire la regolazione precisa).

ghezzia:
sto usando un garmin fenix 3 come riferimento.

Ma lo tieni all'aperto? Perché se non vede i satelliti potrebbe non mantenere la precisione.

zoomx:
Ma lo tieni all'aperto? Perché se non vede i satelliti potrebbe non mantenere la precisione.

Il fenix 3 è uno smartwatch che ha anche la funzione GPS per tracciare le attività, ma rimane comunque un'orologio....

tra l'altro ieri con l'aggiornamento all'ora solare ho provato a sincronizzarlo nuovamente e mi ha perso 10 secondi in un botto solo ..... MMM :sob: ora sembra stabilizzato... domani vi dico meglio :wink:

Io nei miei esperimenti ho usato un PC che aggiornava frequentemente (non troppo!) l'orario con un server NTP. Lo fa anche lo smartphone ma se tolgo la connessione Internet e il GPS va avanti di parecchio.
Ecco perché suggerivo una versione con ESP8266 e sincronizzazione NTP.
Ma tu come setti l'ora?

zoomx:
Ma tu come setti l'ora?

abbiamo inserito due pulsanti (uno per i minuti e uno per l'ora)... perchè?

Perché quando regoli l'orologio usando solo le ore e minuti lasci fuori i secondi per cui è normale che non siano sincronizzati al secondo.
Esempio.
Il fenix segna 12:10:50
Tu regoli il nuovo orologio a 12:10 ma i secondi possono essere qualsiasi, ad esempio 30 per cui già in partenza sei indietro di 20 secondi.
In alcuni orologi, quando regoli i minuti e passi ad un'altra regolazione i secondi si azzerano per cui se tu regoli al cambio del minuto sei sincronizzato meglio.

zoomx:
In alcuni orologi, quando regoli i minuti e passi ad un'altra regolazione i secondi si azzerano per cui se tu regoli al cambio del minuto sei sincronizzato meglio.

Si ma infatti lo sketch di Claudio_F prevede che quando si pigia il pulsante dei minuti vengano azzerati anche i secondi. Ovviamente io il pulsante lo schiaccio esattamente al cambio del minuto sul mio orologio...
E' come se ci sia stato uno sbalzo legato ad un "movimento" strano dell'hardware.
Ora sono fuori, stasera faccio una verifica ulteriore e poi vi dico :wink:

Probabilmente avevo sbagliato qualcosa nell'ultima sincronizzazione... sta di fatto che ora i 10 secondi di ritardo accumulati li sta piano piano riguadagnando... ora sono 7 :slight_smile:
praticamente ha guadagnato 3 secondi in 4gg... ripeto, nulla di che (e per quello che mi riguarda può andare bene così com'è).
Tuttavia siccome dovrei veramente farne altri per alcuni parenti, mi piacerebbe cercare di darglieli il più precisi possibile :wink:
.... Magari so cosa regalare a natale :smiley:

Ecco perché uso l'ESP8622. Si sincronizza lui e pensa anche al cambio dell'ora legale. Tutti i progetti che avevo iniziato con Arduino e RTC li sto convertendo proprio per questo.
Però serve una WiFi.

zoomx:
Ecco perché uso l'ESP8622.

Eventualmente che ESP mi consigli? ho guardato alcune recensioni su amazon ma non mi convincono molto...
come potrei integrarlo a tutto il circuito già fatto senza stravolgerlo ovviamente?

Potresti usarlo come uno shield WiFi. Ci dovrebbe essere uno shield che usa un ESP8266. Se invece hai più conoscenze di elettronica prendi il modulino ESP-01, che ormai in Cina è sui 2 euro, e lo colleghi all'Arduino con 2 pin per una seriale software. Questa è forse la soluzione migliore per integrare il WiFi nel tuo progetto esistente. Va alimentato a parte a 3.3V.

L'ESP8266 non ha molti pin in confronto all'Arduino, una decina solamente e ha una sola porta con convertitore A/D, non so alla fine quanti ne usi in questo progetto. Se ci bastano la conversione non è molto difficile, l'ESP8266 usa quasi le stesse istruzioni di Arduino però lavora a livelli 3.3V. I progetti che ho convertito fanno uso dei Neopixel (un anello di 12 led colorati) e di uno schermino OLED. La differenza consiste nell'aggiunta delle poche istruzioni per il collegamento in WiFi e il codice per prendere il tempo dai server NTP. Inoltre ho usato la libreria RTClib di Adafruit che permette di usare le stesse istruzioni base sia che usi un RTC hardware come il DS3231, sia che usi un RTC software.

Scusate! :slight_smile:
intanto buon anno a tutti !!
riprendo ancora questo post prima di chiuderlo definitivamente per chiedere:
se volessi alimentare l'orologio a batterie anzichè con la corrente cosa devo fare?
pensate sia conveniente? intendo: non è che a batterie me ne consuma una serie a notte :).

Auguri ancora a tutti!!

Altra piccola domanda: se volessi fare in modo che l’orologio alterni anche la data, pensate si possa fare aggiornando solo il software? Oppure dovrei mettere mano anche all’hardware?
Come sapete al’interno c’è un rtc che governa il tutto ma l’impostazione iniziale dell’ora avviene tramite due pulsanti... mi viene il dubbio che ne servano altri per la data :slight_smile:

Ancora una.... ;).
se volessi, sulla falsa riga di quanto già fatto finora, creare una radiosveglia artigianale da inserire in un box di un vino pensate sia possibile?
apro un nuovo topic per questa richiesta?

Possibile, e' possibile quasi tutto (tranne estirpare i corrotti dai tribunali e da montecitorio, e guarire il cancro con una pastiglia :D) ... ad esempio, uno dei circuiti che avevo postato prevedeva delle uscite extra con cui pilotare buzzer, ricevitore radio, sirena da tornado :D, o quant'altro si volesse ... ci sara' ovviamente da modificare anche lo sketch, oltre che il circuito, per la radiosveglia (se non avevi gia previsto le uscite extra, ma magari si possono saldare dei fili su quello che hai gia fatto e fare un piccolo millefori con il resto ;))

Prima della radiosveglia (per la quale aprirò un thred apposito) torniamo un attimo alla richiesta precedente relativa all’alimentazione tramite batteria... dite che è fattibile?

Se usi un paio di batterie da camion, si :smiley: ... con tutti quei led, fai presto a prosciugare una batteria :wink:

Puoi prevedere un "pacco" di batterie, ad esempio una decina di stilo NiMh, da inserire nella struttura come alimentazione di backup per le interruzioni saltuarie di tensione di qualche minuto o masismo decina di minuti, ma quegli oggetti sono tutti pensati per un'alimentazione da rete ...

Etemenanki:
Se usi un paio di batterie da camion, si :smiley: ... con tutti quei led, fai presto a prosciugare una batteria :wink:

Bene! allora lascio così com'è :). in fondo ho già la batteria tampone dell'rtc che mi fa da backup ;).

Se riesco a scoprire l'ultimo dubbio che ho faccio riassunto e chiudo il thread dopo 14 mesi di duro lavoro :D.

Il dubbio è: se volessi fare in modo che l'orologio alterni anche la data, pensate si possa fare aggiornando solo il software? Oppure dovrei mettere mano anche all'hardware?