Binär klocka

Berätta om dina pågående projekt.
pheer
EF Sponsor
Inlägg: 1283
Blev medlem: 16 januari 2005, 18:05:21

Binär klocka

Inlägg av pheer »

En arbetskamrat berättade att han sett ett armbandsur med binär
visning. Det inspirerade mig till att göra en egen binär klocka men i bords-
format. Här är resultatet:

En pic18f1320 får sköta all logik och drivning av lysdioderna. Tiden fås av
klockkristallen+den interna oscillatorn. Dioderna PWMas. Med två
tangentbordsströmställare på baksidan ställer man tiden och brightnes
(64 steg).
Bild

Så här blev det. Först hade jag tänkte spraymåla plåtbiten mattsvart. Men
naturell blev rätt snyggt med de svart lysdiodshållaren. Krestskortet
tjänstgör även som stativ
Bild

Närbild i en mörkare omgivning. Lysdioderna har en spridningsvinkel på
+-60 grader. Hoppas att det inte är någon bugg i mjukvaran för då måste
jag löda bort alla lysdioder.
Bild
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Inlägg av v-g »

Fruktansvärt dum fråga känns det som men är den övre raden timme och den undre minuter? Eller hur är den delad?

Dvs är klockan på den nedre bilden 17:11?
Användarvisningsbild
jack
EF Sponsor
Inlägg: 2059
Blev medlem: 5 oktober 2004, 17:32:27

Inlägg av jack »

Bra jobbat!

Jag tar gärna del av schema och kod. Om du känner för att släppa det :)
ragnwald
Inlägg: 165
Blev medlem: 9 mars 2006, 21:16:58
Ort: Stockholm
Kontakt:

Inlägg av ragnwald »

Nice, men den blir ju fasen så mycket lättare att läsa av med BCD-kod :)
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Du behöver väl ingen 18F monster för detta ? Bygg den med en 4004 istället ;)
Mindmapper
Inlägg: 7064
Blev medlem: 31 augusti 2006, 16:42:43
Ort: Jamtland

Inlägg av Mindmapper »

Bengt-re: Är inte 4004 dyrare :?:
Användarvisningsbild
MNorrgren
Inlägg: 5811
Blev medlem: 27 maj 2005, 16:09:10
Ort: Sjöbo, Skåne

Inlägg av MNorrgren »

skulle mer än gärna ta del av denna kod samt schema om du vill släppa det,...
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

;) jo idag, men tänkte just på retrostilen så skulle en 60-tals processor vara lite coolare... Varför inte rörlogik när man ändå är på G `;)


Nej, coolt bygge ändå,
Användarvisningsbild
JimmyAndersson
Inlägg: 26470
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Coolt! :)

Jag tycker en PIC18F1320 passar fint. Det ar den PIC-kretsen som jag oftast anvander i mina projekt. Nr2: PIC12F675, nr3: PIC18LF2320. (Vardelost vetande iofs..) :)

(Sitter vid en Linux-burk utan svenska tecken....) :roll:
pheer
EF Sponsor
Inlägg: 1283
Blev medlem: 16 januari 2005, 18:05:21

Inlägg av pheer »

Tack för responsen :)

vg: helt dum är den inte men om man funderar lite på antal lysdioder,
minuter/timma och timmar/dygn så går det att lura ut.

bengt-re: det är ju faktiskt sant att denna pic är ett riktigt performance-
monster i detta sammanhang, tyvärr kan jag inget om rör men det var en
cool ide. Eller det kanske går åt lite väl många rör när jag tänker efter lite.
Några för syns skulle kanske.

jimmy: jag tycker också att det är en trevlig allround-krets. Jag använde
den till dörrklockloggern också.

Jag lägger upp koden imorgon. Designen i övrigt är riktigt simpel.
Strömbegränsningsmotstånd till lysdioderna, pull-down motstånd till
knapparn och några kondingar för avkoppling och glättning. Man kan ju om
man vill även lägga spänningsagget på kortet men jag lägger det utanför
nånstans, förmodligen köper jag eller återanvänder något, mobilladdare
kanske.
pheer
EF Sponsor
Inlägg: 1283
Blev medlem: 16 januari 2005, 18:05:21

Inlägg av pheer »

Här är koden. Något schema finns inte. Minut-lysdioderna är
kopplade till port b i "rätt" ordning d.v.s. led 1 till RB0, led 2 till RB1 o.s.v.
Samma för tim-lysdioderna men till port a istället. Klockkristallen är
kopplad enligt databladet, s.105.
Senast redigerad av pheer 26 november 2006, 19:29:06, redigerad totalt 1 gång.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Coolt projekt hur som helst. man kanske skulle bränna av koden och sätta upp en på jobbet ;)
Användarvisningsbild
JimmyAndersson
Inlägg: 26470
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

pheer (och andra som är vana vid såna här klockor) : Går det fort att läsa av vad klockan är, eller måste man räkna ?
pheer
EF Sponsor
Inlägg: 1283
Blev medlem: 16 januari 2005, 18:05:21

Inlägg av pheer »

bengt-re: det tycker jag! Jag gjorde det idag :)

jimmy: det återstår att se, nu måste jag räkna men jag antar att man lär
sig med tiden. precis som man gjorde med visar- och digitalklockan när man var liten.

På tal om det har jag en plan på en uppföljare där alla 11 lysdioder sitter
på rad(eller i kolumn) och anger antal minuter sedan midnatt. Den kommer
att bli lite svårare att lära sig läsa av snabbt. :wacko:

Här kommer version 1.1 av koden, fixade två små buggar som har med
inställningen av brightness att göra, första var att tim-lysdioderna inte
tändes utan släcktes, den andra gjorde så att man var tvungen att släppa
knapp 2 före knapp 1 för att inte avsluta brightness-inställningen.
v1.1

Version två av mjukvaran är påbörjad och innehåller automatisk justering
av sommar- och normaltid. Sen tänkte jag fixa läge för am/pm, inställning
av brightness för lysdioder som är av (för att underlätta avläsning på lite
avstånd).
Brander
Inlägg: 2
Blev medlem: 4 maj 2006, 23:56:22

Inlägg av Brander »

Snyggt projekt! Tack för att du dela med dig av koden!
Jag försöker lära mig programmera pic så jag satt och spanade lite i koden och det var lärorikt, dock var det en liten detalj angående tidmätningen jag inte blir klok på:

Klockan i 8 MHz

Kod: Markera allt

// Set internal oscillator to 8MHz
OSCCONbits.IRCF2 = 1;
OSCCONbits.IRCF1 = 1;
OSCCONbits.IRCF0 = 1;
Räknaren sätts till noll (16-bitars räknare?)

Kod: Markera allt

TMR1L = 0;				//reset timer
TMR1H = 0;
Visst genereras ett interrupt när timern är full dvs TMR1L = 0xff && TMR1H = 0xff ? dvs när den räknat till 65536.
Vad jag ser i koden används ingen prescaler för timern.
Så om jag förstår det hela rätt borde ett ett interrupt genereras varje 65536/8000000 = 0.008192s dvs lite mer än var 8:e ms. Men vid varje interrupt räknar du upp två sekunder

Kod: Markera allt

clkS += 2;
Vad missar jag för någon enkel detalj?
Skriv svar