Led Cube

Die Forenleitung möchte der Tatsache Rechnung tragen, dass immer mehr Azubis, aber auch Studenten hier nachfragen. Um dem gerecht zu werden wird das Ausbildungsforum unterteilt in das Azubi-Forum und das Studenten-Forum.
Antworten
cubensis
Null-Leiter
Beiträge: 99
Registriert: Mittwoch 17. April 2013, 18:29

Led Cube

Beitrag von cubensis »

Also noch eine Sache...

Ich habe mir einen hübschen 8x8x8 LED Cube gebaut. Sieht super aus und funktioniert nach 2 Wochen harter Arbeit auch einwandfrei. Jetzt da ich den Aufbau kenne versuche ich den Cube zu verstehen, auch weil ich ab nächter Woche das Programm meinen Wünschen entsprechend erweitern möchte.
Was mir nun zu allererst unklar ist, ist die Antwort auf die Frage:

Wie ist es möglich zB in der ersten Ebene eine LED zum leuchten zu bringen,
ohne das in der zweiten Ebene die LED vom selben Anodenstrang auch aufleuchtet. Sollte die 2te Kathodenebene nämlich auf Minus durchgeschaltet sein weil da auch eine LED leuchten soll, müsste dies ja der Fall sein.

Mein Gedankengang dazu lautet bisher so (habe mir den Code noch nicht genau angeschaut): Die Steuersignale sind ineinander verschachtelt, so dass immer nur eine Kathodenebene ein paar Nanosekunden auf minus geschaltet wird, und dann die nächste Ebene drankommt. Das geht dann so schnell das praktisch alle Ebenen gleichzeitig leuchten können und nur einzelne LED'S aus diesen Ebenen leuchten.

Tut mir leid wenn ich mich umständlich ausgedrückt habe, habe mein bestes gegeben. Falls sich also jemand von euch damit auskennt, wäre es schön wenn er mir sagen könnte ob ich damit ungefähr richtig liege oder nicht...

Gruß Cube

:p
xReapeRx
Null-Leiter
Beiträge: 392
Registriert: Montag 9. Januar 2012, 08:57

Beitrag von xReapeRx »

cubensis hat geschrieben:Also noch eine Sache...

Ich habe mir einen hübschen 8x8x8 LED Cube gebaut. Sieht super aus und funktioniert nach 2 Wochen harter Arbeit auch einwandfrei. Jetzt da ich den Aufbau kenne versuche ich den Cube zu verstehen, auch weil ich ab nächter Woche das Programm meinen Wünschen entsprechend erweitern möchte.
Was mir nun zu allererst unklar ist, ist die Antwort auf die Frage:

Wie ist es möglich zB in der ersten Ebene eine LED zum leuchten zu bringen,
ohne das in der zweiten Ebene die LED vom selben Anodenstrang auch aufleuchtet. Sollte die 2te Kathodenebene nämlich auf Minus durchgeschaltet sein weil da auch eine LED leuchten soll, müsste dies ja der Fall sein.

Mein Gedankengang dazu lautet bisher so (habe mir den Code noch nicht genau angeschaut): Die Steuersignale sind ineinander verschachtelt, so dass immer nur eine Kathodenebene ein paar Nanosekunden auf minus geschaltet wird, und dann die nächste Ebene drankommt. Das geht dann so schnell das praktisch alle Ebenen gleichzeitig leuchten können und nur einzelne LED'S aus diesen Ebenen leuchten.

Tut mir leid wenn ich mich umständlich ausgedrückt habe, habe mein bestes gegeben. Falls sich also jemand von euch damit auskennt, wäre es schön wenn er mir sagen könnte ob ich damit ungefähr richtig liege oder nicht...

Gruß Cube

:p
Also ohne jetzt den Schalplan zu kennen:
Man kann sowas zB über Latch machen die von den Ausgangsregister einer µCPU gefüttert werden. Bleiben wir bei den 8-Bit. Ich nehme eine beliebige µCPU mit min 24 digitalen Ausgängen und 8 Latch-Register. Zur vereinfachung betrachtet man nun nur eine Ebene, also 2D wenn man so will. Die ersten 8 Bit der CPU liegen auf jeweils einer Kathode von 8 Paralel geschalteten LEDs. die zweiten 8 Bit auf der Anode der LEDs aber quer. So ergibt sich eine Matrix.

BIld zum Verständniss -->http://i.stack.imgur.com/r7ZOP.png

Um alles aus zu schalten werden die Anoden-Bits auf low und die Kathodenbits auf high gesetz. So Sperren alle Diode und kein Strom fliesst.

Reg_Anode = 0000 0000 Reg_Kathode = 1111 1111

Wenn ich nun je 1 Bit von low auf high und von high auf low schalte, geht genau eine LED an. 0010 0000 und 1111 1101 sorgt dafür das die LED D37 Leuchtet. (MSB rechts)

Um das ganze nun in 3D leuchten zu lassen, setzt man vor den Anoden oder KAthoden die Latches. Diese werden nun von den dritten 8-Bit freigegeben.
So ergäbe bei diesem Bespiel ein Reg_Layers 0001 0000 das LED D37 in der 4ten Schicht oder vom 4ten Latch leuchtet.

Wenn man das nun weiss ist das Programm ganz einfach, vorrausgesetzt man spricht die Sprache: 3 Register - Zeile, Spalte, Schicht. Man schaltet diese schnell an und aus und kann so Muster, Bilder oder was auch immer erzeugen. INteressant wäre hier dann halt ncoh was Hardwaremässig vorliegt: Wieviele LED können gleichzeitig Leuchten? Wie hoch ist mein Takt?

Im Internet habe ich noch diese Zeichnung dazu gefunden. http://www.mikrocontroller.net/attachme ... matrix.png
Die Transistoren T1- T9 und die MOSFETs T9 - T32 dienen hier dazu genügend Strom zu verfügung zu stellen würde ich jetzt raten

( auch wenn ich nicht ganz nachvollziehen kann warum hier gemischt wurde :confused:, somal BC337 ~ 5 Cent kostet und die ZVN4206 ~40 Cent… da hätte ich wenigstens gedreht… Auch möchte ich den Zeicher [s]prügeln[/s] feste streicheln für die Benennung der LEDs :schimpf: tue dir einen gefallen und mach es nach einem Muster und nummeriere sie nicht einfach durch. Bei 8-Bit bietet sich zB D_xyz an wobei x dann die Zeile, y die Spalte und z die Schicht benennt. So weist du beim Programmieren sofort welceh du ansteuern willst)

Die Schieberegister IC2 - IC4 ersetzen hier die Latch-Register. Es werden die Bits solange hin und her geschoben bis der Wert stimmt und dann wird über den Latch der ausgang freigegeben. So kann man eine günstigere µCPU verwedenen… bischen auch geschmackssache :rolleyes:
Gibt der Evolution eine Chance...
Antworten