rubiks kub

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

rubiks kub

Inlägg 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?
Användarvisningsbild
maha
EF Sponsor
Inlägg: 1685
Blev medlem: 22 november 2005, 09:47:02
Ort: Jakobstad, Finland

Inlägg 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.
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Inlägg 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.
Användarvisningsbild
maha
EF Sponsor
Inlägg: 1685
Blev medlem: 22 november 2005, 09:47:02
Ort: Jakobstad, Finland

Inlägg 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".
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Inlägg av victor_passe »

Ytterligare ett d'oh.
Tack för att du påpekade felet.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Inlägg 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?
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Inlägg 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.
Rocky_AL
Inlägg: 617
Blev medlem: 7 december 2006, 15:14:50
Ort: Stockholm

Inlägg av Rocky_AL »

enklast är väl att köra med led-drivers. Typ denna
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31817
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg 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å.
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Inlägg av victor_passe »

Hur menar du?
Användarvisningsbild
MadModder
Co Admin
Inlägg: 31817
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Inlägg 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.
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Inlägg 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?
Användarvisningsbild
maha
EF Sponsor
Inlägg: 1685
Blev medlem: 22 november 2005, 09:47:02
Ort: Jakobstad, Finland

Inlägg 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.
Senast redigerad av maha 5 juni 2008, 13:11:47, redigerad totalt 1 gång.
Användarvisningsbild
jesse
Inlägg: 9241
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Inlägg 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 .
Användarvisningsbild
maha
EF Sponsor
Inlägg: 1685
Blev medlem: 22 november 2005, 09:47:02
Ort: Jakobstad, Finland

Inlägg av maha »

Var det inte precis det jag skrev i mitt förra inlägg...? :wink:
Skriv svar