Sida 1 av 2

rubiks kub

Postat: 3 juni 2008, 13:41:07
av victor_passe
Hej, jag funderar på att bygga en rubiks kub med 26st rgb leds, 6st 4-16 demux och en pic 16f877.

Jag tänkte koppla demuxarna så det blir 3st 5-32 och ha en sådan enhet för röd, en för blå och en för grön.
Ingen pwm eller sådant krångel.
Det blir 6 färger + vit och svart.
Hur kodar man detta?
Skulle man kunna använda 26 ram-poster och ha 2 rutiner; en som målar upp alla färger och en som vid knapptryckning flyttar omkring byten i ram:et?

Det ska bara finnas 9st knappar som ska kopplas så jag läser av dem ifrån 6st pinnar i en matris.
3knappar för x,y,z led.

Allt detta ska sedan lödas in på 6st kretskort som ska lödas ihop till en kub.
Kretskorten är vanliga expriment kort.. Lättast så.

Har jag en sportslig chans att få pic:en (På 20MHz) att uppdatera led:sen snabbt nog för att dem inte ska flimmra?
Något som ni direkt ser som är svårt eller ett stort problem?

Och vart kan man skaffa 26st rgb leds som inte behöver lysa mycket alls hyffsat billigt?
Ska man ha någon typ av "difuser" och iså fall vad?

Postat: 3 juni 2008, 13:46:42
av maha
Låter intressant! Men jag förstår inte riktigt hur du ska klara dig med 26st LED:ar? borde det inte behövas 6 x 9st = 54st? Utan PWM borde flimmer inte vara något problem alls.

Postat: 3 juni 2008, 13:51:45
av victor_passe
D'oh. jag tog 3^3-1
Okej, hur styr jag 54 rgb leds?
Ska jag koppla ihop 2*4*3st 4-16 demuxar?
Eller finns det något smartare(billigare)?

Edit: ja! man kan ju såklart koppla samman alla R och alla G och alla B till 3 pinnar på pic:en och bara ha 1st 6-64 demux till katoderna.

Då ska man ha en demux med inverterade utgångar eller en massa inverterare.

Postat: 3 juni 2008, 14:54:47
av maha
Ok, då förstår jag. :wink:

Trevlig liten avatar du har, men du vet väl om att "inomhus" stavas med *ett* "n", då blir den ju dessutom ännu snyggare då "inomhus" är lika många tecken som "utomhus".

Postat: 3 juni 2008, 15:13:58
av victor_passe
Ytterligare ett d'oh.
Tack för att du påpekade felet.

Postat: 3 juni 2008, 15:15:22
av dangraf
Jag är nyfiken på hur du tänkt att kuben ska fungera.

Ska du använda dig av en befintlig kub som du monterar dina lysdioder i? Isf behöver du väl ingen microkontroller som styr färgerna?

Om du ska göra en statisk kub där alla lysdioder är på samma ställe, men ändrar färg beroende på hur man vrider kuben, så undrar jag hur du löser "vridgningen". Ska det ske med någon form av knapp?

Postat: 3 juni 2008, 15:27:05
av victor_passe
Den byggs med 6st kvadratiska kretskort som löds ihop i kanterna. Sedan finns det 3*3 knappar. En för varje "skiva" i varje de 3 leden.
Så den har inga rörliga delar. om man inte räknar knapparna.

Men frågan är hur man lättast styr 3*54 lysdioder.

Postat: 3 juni 2008, 18:05:14
av Rocky_AL
enklast är väl att köra med led-drivers. Typ denna

Postat: 3 juni 2008, 18:12:20
av MadModder
Det blir isf 11st såna där drivers. 162 bitar ska ju styras...
Jag hade nog försökt koppla det som en matris, som en vanlig LED-display. 3 rutor på höjden blir totalt 9 bitar, och sen två kaskadkopplade 4017 som stegar fram kolumnerna mha en klocksignal, vilket blir 18st då.

Postat: 3 juni 2008, 18:46:09
av victor_passe
Hur menar du?

Postat: 3 juni 2008, 19:16:11
av MadModder
Du har ju 54 rutor på en rubiks kub. 9 på varje sida.
Om du tar en stapel på tre rutor, så har du ju röd grön och blå på varje. Det blir 9 bitar som ska styras. Gör du samma sak på alla sidor, har du ju då 18st staplar om 3 rutor.
Första klockpulsen är stapel 1 aktiv, och du ger ut 9 bitar från processorn, som då ger rätt färger på de tre första rutorna. Sen skickas en klockpuls till räknaren, som då såklart aktiverar stapel nummer 2 istället för 1, och så ger du ut 9 nya bitar som motsvarar färgerna på den stapeln. osv. tills du har visat alla 18 staplar. Sen börjar du om igen. Detta ska då ske så fort det bara går, kanske uppdatera allt i 10kHz. Det borde räcka.

Postat: 5 juni 2008, 10:46:11
av victor_passe
Nu har jag i multisim provat att kaskad koppla 2st 4017.
Men jag få bara så den ena räknar till 10, sedan räknar den andra upp 1
Och det är alltid 2 utgångar aktiva.
Hur får jag så de 20 utgångarna kommer steg efter steg?

Postat: 5 juni 2008, 10:56:24
av maha
Databladet är din vän: http://www.doctronics.co.uk/pdf_files/4017.pdf

På sista sidan finns beskrivet hur man utför en kaskadkoppling. Du tappar en utgång (edit: per krets) men 18 utgångar räcker ju i det här fallet. MR till den första kretsen vill du ju själv ha kontroll över, annars finns det risk att komma ur synk men MR till den andra kan ju lämpligtvis kopplas som på bilden.

Postat: 5 juni 2008, 13:08:19
av jesse
Kan vara bra att ha en utgång från processorn till "reset" på räknarna.. annars kan man nog lätt tappa räkningen .

Postat: 5 juni 2008, 13:10:13
av maha
Var det inte precis det jag skrev i mitt förra inlägg...? :wink: