[WIP] Word Clock

Apro un topic per parlare di un progetto al quale sto lavorando da un po' con un mio amico, e cercherò di tener aggiornato mano a mano che gli sviluppi procedono.
L'idea è quello di realizzare un "orologio a parole", più facile da trovare in rete come wordclock.
Il principio è quello di illuminare delle parole in un pannello, e leggendole dicano l'ora corrente:

In giro si trovano già svariati tutorial :

Io lo sto ovviamente facendo in italiano, sono alle fasi iniziali del circuito, ho fatto lo standalone perchè non voglio sacrificare un arduino e poi perchè stiamo sviluppando 2 orologi in parallelo.
Il circuito è basato su shift register per avere abbastanza porte in uscita, e dei ULN2803A per poter alimentare i led a 12v (sono ricavati dalle strisce led).

Come di mia abitudine non sto facendo il copia-incolla dei progetti, ma cerco di capire come funzionano e provo anche a metterci del mio.

Ora stavo vedendo di implementare la possibilità di regolare la luminosità dei led in base alla luce esterna (lettura con fotoresistenza), appena trovo un attimo faccio un test con le librerie Shift PWM, vi farò sapere, ma sono ben accetti anche dei consigli.

Il circuito sarà alimentato da un alimentatore a 12v, per la parte arduino abbasso la tensione a 5v tramite un 78S05. Vorrei anche poter mettere una batteria di emergenza nel caso che l'alimentatore venga scollegato, giusto per non dover reimpostare l'orario dell'orologio. Ovviamente in modalità batteria i led non vanno, ma serve solo per mantenere in vita l'ATMega.
Una batteria da 3.3v~ potrebbe bastare? come posso attivare o meno la batteria in base all'alimentazione principale? ho fatto un paio di ricerche sulle batterie tampone, ma ho trovato solo circuiti per voltaggi ben diversi, e quindi credo che ci siano un po' di differenze rispetto alle mie necessità..

[Update 1]
Ecco una prova di come si vedranno le lettere con un vetro a specchio:

ancora dobbiamo far bene la struttura delle caselle, quindi le parole diventeranno più nitide.

Gli aggiornamenti arriveranno mano a mano con lo sviluppo..

Carina l'idea. Volevo farlo anch'io, sempre in italiano però.
Se usi un RTC esterno, una comune batteria del tipo a bottone va più che bene e garantisce autonomia per anni al solo RTC. Per la batteria non devi far niente di particolare, ad esempio sul DS1307 ci sono degli ingressi appositi e quando la tensione principale scende sotto ad una certa soglia, l'RTC commuta in automatico sulla batteria.

Diverso è il discorso se vuoi tenere alimentato anche l'Atmega.

leo é piú veloce.
@lollotek
Mi sono stupito della Tua domanda perché davo per scontato che un progretto per un orologio abbi un RTC. Al limite un DCF77, un RDS o una chiamata a un server NTP.
Ciao Uwe

uwefed:
leo é piú veloce.

Sai com'è... devo star qui per altre 3 ore.... =(

non so manco cosa sia sto RTC :roll_eyes:

lollotek:
non so manco cosa sia sto RTC

RTC

ma perché tutte le volte che mi sforzo a fare dei topic completi ed interessanti diventano sempre la fiera dello spam ?? =(

astrobeed:

lollotek:
non so manco cosa sia sto RTC

RTC

Che cattivo che sei oggi astrobeed :wink:

RTC sta per Real Tima Clock. un integrato che fa da orologio. Leo Ti ha giá nominato uno il DC1307. Ha una batteria e funziona percui anche quando l' alimentazione del apparecchio manca. le batterie hanno un autonomia tipica di 10 anni.

DS1307 RTC tutorial lo spiega a piccoli passi.

Le seguenti opzioni sono piú complicate e in parte malfunzionanti o difficili e impegnativi da far funzionare come il DCF77 e il NTP, o non funzinanti all interno di case come il GPS e comunque pensate per sincronizzare il RTC che aggiorna l' ora contando i cicli i un quarzo.

DCF77 é un trasmettitore vicino a Francoforte che emana un segnale ogni scondo e in un minuto codifica l' ora e la data.

RDS Radio Data System; sono dati digitali trasmessi con la radio in FM e che trasmette oltre la sigla della stazione anche il tempo.

NTP Network Time Protocol protocollo per ricavare l' ora e data da server in rete locale o internet.

GPS Global Positioning System Ogni satelite manda un segnale orario e con la differenza e ritardi tra i segnali di 3 o 4 segnali i ricevitori calcolano la posizione sulla terra

Ciao Uwe

ok grazie, direi che il DS1307 vada già più che bene, valuterò di implementarlo nel circuito!
Onestamente in tutti gli esempi di wordclock in giro ho mai visto riferimenti ad un RTC..

lollotek:
ok grazie, direi che il DS1307 vada già più che bene, valuterò di implementarlo nel circuito!
Onestamente in tutti gli esempi di wordclock in giro ho mai visto riferimenti ad un RTC..

Puoi tenere l'ora anche via software: usando un Atmega in standalone utilizzerai sicuramente un quarzo per cui l'accuratezza di un orologio software ti può bastare. Potresti valutare ad esempio la mia swRTC che implementa un RTC con un timer. Però devi prevedere una batteria di backup che fornisca la giusta riserva di energia all'Atmega nel caso vada via la luce perché altrimenti, se il chip si resetta, anche l'orario se ne va :smiley:

leo72:

lollotek:
ok grazie, direi che il DS1307 vada già più che bene, valuterò di implementarlo nel circuito!
Onestamente in tutti gli esempi di wordclock in giro ho mai visto riferimenti ad un RTC..

Puoi tenere l'ora anche via software: usando un Atmega in standalone utilizzerai sicuramente un quarzo per cui l'accuratezza di un orologio software ti può bastare. Potresti valutare ad esempio la mia swRTC che implementa un RTC con un timer. Però devi prevedere una batteria di backup che fornisca la giusta riserva di energia all'Atmega nel caso vada via la luce perché altrimenti, se il chip si resetta, anche l'orario se ne va :smiley:

infatti avevo ipotizzato anche questa cosa (anche se mi mancava l'esistenza della libreria swRTC), ma come dicevo nel primo post, non ho capito che tipo di circuito sia necessario per attivare una batteria nel caso che l'alimentazione principale viene a mancare..
grazie ancora

Un RTC con batteria bottone costa di meno che una batteria/caricabatteria/alimentatore per arduino e garantisce una autonomia senza alimentazione di qualche anno.
Nel secondo link che avevi aggiunto http://www.instructables.com/id/The-Wordclock-Grew-Up/ parla di RTC.
Ciao Uwe

lollotek:
non ho capito che tipo di circuito sia necessario per attivare una batteria nel caso che l'alimentazione principale viene a mancare..

Nessun circuito particolare, lo switch tra alimentazione normale e batteria di backup lo fa in automatico l'RTC.

images.jpeg

leo72:

lollotek:
non ho capito che tipo di circuito sia necessario per attivare una batteria nel caso che l'alimentazione principale viene a mancare..

Nessun circuito particolare, lo switch tra alimentazione normale e batteria di backup lo fa in automatico l'RTC.

Si si avevo visto dal link che fa da solo, la mia domanda era riferita al caso se avessi usato la versione software e non hardware, quindi come alimentare l'ATmega in caso di mancanza di corrente.
In ogni caso penso di usare la soluzione hardware con un DS1307 come suggerito, così vado sul sicuro.

Grazie a tutti per le dritte, vi aggiornerò appena ci sono novità.

La cosa piú semplice per mettere una bateria sul Arduino é:
230V - caricabatteria - batteria al piombo da 12 V - Arduino.
Per migliorare il rendimento e aumentare l' autonomia ca del 80% e´usare un convertitore DC/DC da 12V a 5V per l'Arduino.
Ciao Uwe

@Uwe:
ma lui non userà un Arduino intero:

lollotek:
ho fatto lo standalone perchè non voglio sacrificare un arduino

Quindi se lavora a 5V basterebbe un comune pacco di 6 batterie ricaricabili NiMH: avrebbe 7,2V da cui, tramite uno step-down, ottenere i 5V per il micro. E gestire la ricarica tramite un piccolo circuitino.
Se poi volesse ridurre i consumi potrebbe pensare di impostare il circuito a 3,3V ed usare l'oscillatore interno dell'Atmega a 8 MHz. Basterebbero allora 3/4 batterie ricaricabili, per un totale di 3,6/4,8V a seconda, e lo step-down per ottenere i 3,3V. Meglio ancora sarebbe mettere un partitore di tensione per leggere l'assenza della tensione principale del trasformatore e mettere il micro in sleep per risparmiare ulteriormente la batteria, in modo che anche l'Atmega consumi il meno possibile.

Leo, gli accumulatori NiMH li carichi in corrente mentre quello al piombo li carichi in tensione. Questo semplifica molto l' alimentatore per il piombo e li fa essere piú semplice da usare.
Ciao Uwe

c'era il progetto completo con arduino, in una rivistadi elettronica di qualche mese fà. è mezzora che mi sforzo di ricordare ma non riesco! la comprai.....ce l'ho a casa. ma qui a lavoro non ricordo proprio! ben fatto, in italiano e ci sono pure le istruzioni dettagliate per costruire il contenitore. con tanto di scritte! mi ricordo che usava un RTC e un arduino in stand-alone!

vi farò sapere!

Sì è vero, non ci pensavo.
Comunque il mio discorso sulle tensioni operative resta valido: se riesce a mettere tutto a 3,3V risparmia un bel po' in fatto di consumi in assenza di tensione di rete.

uhm, si in effetti a 3,3v per i led non ci sarebbero problemi. è un'opzione da tenere in considerazione!

per adesso ho il pallino degli orologi, quindi mi sa che lo realizzo pure io! seguo il progetto della rivista però! in più ho in lavorazione l'orologio in Binario BCD con SAA1067.

se becco la rivista a casa ne faccio i pdf dell'articolo e lo posto!