Go Down

Topic: Berlin Clock (Read 5407 times) previous topic - next topic

dalubar

Eccolo! Finalmente ho trovato il tempo di completarlo.
Non sono molto bravo nei lavori strettamente "manuali" ma ho fatto ciò che le mie possibilità (e il tempo) mi hanno concesso.




Uno sguardo sotto il "vestito"...


E un breve video...
http://www.youtube.com/watch?v=PwX52L0Y8YE

leo72


PaoloP


Madwriter

Bellissimo,immagino che imparare ai bambini come leggere quest'orologio sia un tantino piu complicato di quello tradizionale  :)
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

z3us

Dalubarrrrr!!!

complimentoni! è uno spettacolo! molto ordinata l'elettronica soprattutto! :D

niente, ora mi hai smosso! stasera pubblico le foto del mio binary. l'ho finito, manca solo caricare la parte di codice per i pulsanti, ma già funziona che è un piacere!

;)

dalubar

Grazie a tutti per i complimenti.
Posso assicurare che se fosse dipeso da me, mi sarei accontentato solo di vederlo funzionare su breadboard, unicamente per la soddisfazione di sapere che le soluzioni hardware e software da me elaborate erano funzionanti. Ma qualcuno (anzi "qualcuna") che mi sta vicino ha insistito particolarmente per la sua realizzazione e cosi...è diventato realtà.

Per questo orologio ho dovuto progettare ben 5 PCB (+1 minuscola 1000 fori) di cui uno doppia faccia, la "centralina" che si vede in foto. Ha un buzzer per le segnalazioni acustiche (come ad esempio il beep 'O clock) e una fotoresistenza che adatta automaticamente e "gradatamente" (con un effetto "fading" implementato in software) la luminosità del tabellone a quella ambientale.

Non parliamo poi della costruzione "meccanica"....innumerevoli listelli di legno da 24 x 4 tagliati con la pazienza di Giobbe (non ho strumenti idonei)...ma come ho già detto non sono bravo in queste cose, di certo una qualsiasi persona al mio posto avrebbe fatto certamente meglio. Ma mi accontento di vederlo funzionare esattamente per come l'ho pensato e progettato.

Per chi fosse interessato a qualche dettaglio implementativo, scriverò un paio di post che riguarderanno l'aspetto sia della soluzione "software" che di quella "hardware".


Bellissimo,immagino che imparare ai bambini come leggere quest'orologio sia un tantino piu complicato di quello tradizionale  :)

Guarda, è preso ad esempio proprio per fini didattici ai bambini. E' chiamato, infatti, anche l'orologio "della teoria degli insiemi".

Michele Menniti

Ormai, ogni volta che vedo un tuo Topic col titolo di un progetto mi aspetti fuochi d'artificio. Anche questa volta non mi hai deluso, ANZI!!!!! SUPERLATIVO e non ti buttare troppo a terra che con la sega ci sai fare :D XD
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

tonid

Ti faccio anche io i complimenti,bel lavoro :)..........però ,scusa se te lo chiedo ma sono curioso di sapere, come si legge?

leo72

@dalubar:
mi sembra che però tu abbia sbagliato a leggere l'ora. Se non ho capito male, tu all'inizio del filmato dici che sono le 4:32 ma in realtà dovrebbero essere le 14:32. E' giusto?  ;)

Testato

complimenti per il lavoro, io avrei messo tutto in un cartone  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

leo72


complimenti per il lavoro, io avrei messo tutto in un cartone  :)


ROTFL  :smiley-yell: :smiley-yell: :smiley-yell:

ratto93

Belloooooooooooooooooooooooooooooooooooooooooooooooo ^millemila  :D
Se corri veloce come un fulmine, ti schianterai come un tuono.

ratto93


complimenti per il lavoro, io avrei messo tutto in un cartone  :)


Che poi, se le nixie si scaldano di brutto non è che al posto del cartone una mattina ti alzi e trovi il carbone ?  :smiley-yell:
Se corri veloce come un fulmine, ti schianterai come un tuono.

dalubar


Ormai, ogni volta che vedo un tuo Topic col titolo di un progetto mi aspetti fuochi d'artificio. Anche questa volta non mi hai deluso, ANZI!!!!! SUPERLATIVO e non ti buttare troppo a terra che con la sega ci sai fare :D XD

Grazie Mike :)
Menny per me sei campione imbattuto di doppi sensi (in-)volontari  :D  :D


@dalubar:
mi sembra che però tu abbia sbagliato a leggere l'ora. Se non ho capito male, tu all'inizio del filmato dici che sono le 4:32 ma in realtà dovrebbero essere le 14:32. E' giusto?  ;)

Si è giusto...erano davvero le 14:32 e io ero appena tornato a casa "cotto" dal caldo, ovvero ero abbastanza rincxxx  XD


Ti faccio anche io i complimenti,bel lavoro :)..........però ,scusa se te lo chiedo ma sono curioso di sapere, come si legge?

Detta in breve:
le prime due righe in alto (rosse) mostrano l'ora corrente, mentre le ultime due (gialle) mostrano i minuti.
Ogni casella della prima riga vale "5", invece nella seconda riga vale "1" (nel sistema decimale sarebbero le "decine" e le "unità", mentre qui sono le "cinquine" e le "unità" :) ). Quindi nel caso del video, dato che ci sono 2 caselle accese nella prima riga e 4 nella seconda, si calcola:
(2*5) + (4*1) = 14

La stessa cosa identica vale per la terza e quarta riga. Nella terza ci sono 11 caselle perchè 11*5 = 55 minuti, che sommate ai 4 minuti della quarta casella fanno 55+4=59. E difatti al minuto successivo si torna a 0 (righe spente) e si incrementa di un'ora.
Comunque assicuro che dopo qualche giorno ci si fa così l'abitudine che si guarda praticamente a colpo d'occhio. ;)



complimenti per il lavoro, io avrei messo tutto in un cartone  :)


ROTFL  :smiley-yell: :smiley-yell: :smiley-yell:

Ti dirò che mentre preparavo il contenitore ti ho pensato...e ho considerato anch'io una bella scatola di cartone...solo che l'orologio pesa un po' e non avrebbe retto :)

dalubar

Giusto per dare anche un, seppur modesto, valore "didattico" al progetto esporrò, per chi ne fosse interessato alcuni dettagli implementativi.

****N°1 - La conversione decimale/pentale
Convertire un numero decimale in base 5 è semplice, occorrono due semplici operazioni. Per avere la cifra più significativa basta trovare la parte intera della divisione per 5, mentre per la meno significativa basta trovare il resto dell'identica operazione.
Ad esempio per convertire il numero decimale 17 in pentale basta eseguire:
Quote
(int)17/5 = 3; 17%5 = 2

Quindi: 17 decimale = 32 pentale
Ancora, la conversione del numero 52:
Quote
(int)52/5 = 10 (A in esadecimale); 52%5 = 2

Quindi: 52 decimale = A2 pentale
Utilizzo il formato esadecimale in quanto farò uso di un valore di tipo byte (8 bit) per contenere il risultato della conversione.

La funzione di conversione dec2pent(byte val) prende in ingresso un valore decimale - che potrà essere il valore relativo alle ore o secondi da convertire - e restituisce un byte.
Tale byte è da considerare nel seguente modo:
(byte) HHHHLLLL
Dove:
HHHH : n°di led da accendere come parte della prima cifra del numero pentale (corrisponde alla prima delle due righe di codifica del numero)
LLLL :  n°di led da accendere come parte della seconda cifra del numero pentale (corrisponde alla seconda delle due righe di codifica del numero)

Ad esempio, considerando le righe del tabellone etichettate dall'alto verso il basso, con le lettere "A", "B", "C" e "D" ("A" e "B" segnano le ORE, "C" e "D" segnano i minuti),  allora se poniamo HH=18 si ha che
Quote
conv2pent(HH) = 33
significa:
-   accendere 3 led riga "A"
-   accendere 3 led riga "B"
oppure se poniamo MM=34 si ha che
Quote
conv2pent(MM) = 64
significa:
-   accendere 6 led riga "C"
-   accendere 4 led riga "D"
ancora, se poniamo, ad esempio, MM=59 si ha che
Quote
conv2pent(MM) = B4
(in esadecimale) significa:
-   accendere B led (cioè 11) riga "C"
-   accendere 4 led riga "D"

Ecco il codice della funzione (più a dirsi che a farsi :) ):
Code: [Select]

byte dec2pent(byte val) {
  byte pent = 0x00;
  pent = (val / 5) << 4;
  pent |= val % 5;
  return pent;
}

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy