Der Würfel lebt

vor 2 years 41 weeks
Der Würfel muss nun mit dem Arduino verbunden werden. In der folgenden Abbildung wird die unterste Ebene vereinfacht auf einem Steckbrett abgebildet Anschluss der 9 Anoden und einer EbeneAnschluss der 9 Anoden und einer Ebene Es ist zu erkennen, dass die Kathoden so wie in dem Würfel alle untereinander verbunden sind. Links kann man sehen, dass alle Kathoden einer Ebene über einen Anschluss mit analogen Input Pin 0 verbunden sind. Input?!, wir brauchen doch Outputs! Bei dieser Gelegenheit lernen wir, dass die analogen Input Pins 0 bis 5 auch als digitale Output Pins benutzt werden können. Sie werden dann von 14 bis 19 durchnummeriert, analogIn0 = digitalOut14, analogIn1 = digitalOut15 usw. Wow, 6 zusätzliche Output Pins!!! Die beiden anderen Ebenen verbinden wir mit analogIn1 bzw. digitalOut15 und mit analogIn2 bzw. digitalOut16. Drei der analogen Input Pins nutzen wir nicht, um evtl. später doch noch analoge Eingänge nutzen zu können. Alle neun Anodenanschlüsse verbinden wir der Reihe nach mit den digitalen Output Pins 4 bis 12. Die Pins DigitalOut0 und DigitalOut1 lassen wir bewusst ebenfalls frei, für mögliche serielle Anschlüsse an diesen Pins. Sobald du alles verkabelt hast, kompiliere den folgenden Sketch und übertrage ihn auf den Arduino. Erster Test
int delayTime = 200; // Zeitspanne für An oder Aus // Merke: die analogen Input-Pins (0-5) sind ebenfalls digitale Ausgänge (14-19) // Pin DigitalOut0 (seriell RX), DigitalOut1 (seriell TX) und // AnalogIn3, 4 und 5 werden // wegen möglicher, zukünftiger Verwendung nicht genutzt.   // Anoden der 9 LEDs int anode[] = { 4, 5, 6, 7, 8, 9, 10, 11, 12}; // 3 Kathodenebenen int cathode[] = { 14, 15, 16};   // Alle Pins auf OUTPUT setzen void setup() { for (int a = 0; a < 9; a++) { // Alle Anoden auf OUTPUT pinMode(anode[a], OUTPUT); } for (int c = 0; c < 3; c++) { // Alle Kathoden auf OUTPUT pinMode(cathode[c], OUTPUT); digitalWrite(cathode[c], HIGH); // Alles ausstellen } }   void loop() { // Jede einzelne LED testen oneByOne(); }   // Testfunktionen // Jede einzelne LED // Reihenfolge // erst von vorne nach hinten // dann von links nach rechts // dann von unten nach oben void oneByOne() { for(int c = 0; c < 3; c++) { // Alle Ebenen nacheinander for(int a = 0; a < 9; a++) { // Alle LEDs einer Ebene nacheinander digitalWrite(anode[a], HIGH); // LED anschalten digitalWrite(cathode[c], LOW); delay(delayTime); digitalWrite(anode[a], LOW); // LED ausschalten digitalWrite(cathode[c], HIGH); } } }
Überprüfe die Reihenfolge der blinkenden LEDs. Um die folgenden Beispiele besser nachvollziehen zu können, sollte das Blinken in der vorderen Ecke unten links beginnen, dann nach hinten weiter laufen, dann die mittlere und linke untere Reihen und sich dann in der mittleren und oberen Ebene fortsetzen. Wenn die Reihenfolge bei dir eine andere ist, stecke die Anschlüsse solange um, bis die Reihenfolge stimmt. Das sollte so dann aussehen:
AttachmentSize
CubeEbenen.pde3.65 KB
CubeProgmem.pde13.86 KB

9 Antworten auf “Der Würfel lebt”


  1. Jan sagt:

    Sehr hübsches Projekt. Schön wenn man sich mal wieder bischen mit dem Lötkolben austoben will. was ist denn die maximal realistische Größe so eines LED würfels? Nur um mal bischen rumzuspinnen :)

    Login or register to post comments

  1. gatonero sagt:

    Im Bochumer Labor gibt es Anleitungen für Würfel bis zu 16x16x16. Da kommt dann aber auch eine ganz schöne Stückliste zusammen und die Programmierung wird dann schon ziemlich tricky. Irgendwo habe ich auch mal was von 64x64x64 Würfeln gelesen.

    Bis dahin ist noch ein weiter Weg, Dieses hier soll anhand eines kleinen aber feinen Würfels in die Grundlagen der Hardware und Programmierung einführen. Eben eine freie Fortsetzung des Lady Ada Tutorials. :-). Fortsetzung folgt ... bis hin zum Bitshiften.

    Ich möchte dazu beitragen, die Einstiegsschwelle für Anfänger soweit wie möglich zu senken, und das auf deutsch ;-)

    Login or register to post comments

  1. Murmel (not verified) sagt:

    Hi,
    vielen Dank für diese tolle Anleitung. :) Mein erstes Arduino-Projekt - und dann gleich so viele blinkende LEDs! Und alles hat auf Anhieb geklappt! Toll!! :) Fernsehen war gestern... Ich schaue jetzt noch ein bisschen LED-Cube. ^^
    Nochmals danke!
    Ciao
    Murmel

    Login or register to post comments

  1. gatonero sagt:

    Bis ich dazu komme, dass Tutorial weiter zu schreiben, habe ich für alle Ungeduldigen ;-) zwei weitere Beispiel-Sketche an den Artikel angehängt. Der Sketch "CubeEbenen.pde" lässt alle Ebenen des Würfels vorwärts und rückwärts blinken, bei dem Sketch "CubeProgmem.pde" geht es dann ganz wild zur Sache. Bei beiden Sketchen werden die bisher genutzten Pinbelegungen weiter verwendet. Es muss also nichts umgesteckt werden.

    Viel Spaß damit!

    Login or register to post comments

  1. Bossi (not verified) sagt:

    Hallo,
    erstmal ein dickes lob für die ersteller und betreuer der seite ... hat mir schon sehr geholfen.
    werde mich die Tage mit dem Würfel beschäftigen. Aber ich frage mich die ganze Zeit, ob ihr die "normalen" LED verbaut habt oder Low Current LEDs genommen habt.
    Wahrscheinlich bin ich auf dem Holzweg aber liefert der Arduino bei normalen LEDs wirklich genug Strom (nur über den USB-Port) und wenn ja wie viel und ab wann ist Schluss.
    Vielleicht ist die Frage zu einfach aber über eine Antwort würde ich mich sehr freuen (gerne auch via mail) DANKE

    Login or register to post comments

  1. S.E.P.P. sagt:

    Hi,
    Ersteinmal, ich habe den Würfel mit normalen LEDs nachgebaut und er funktioniert Perfekt. Es ist auch nicht wirklich schwierig ihn zu Löten, das schwerste ist die drei Ebenen aneinander zu befestigen. Wieviel ampere ein Ausgang des Arduino bringt weiß ich nicht, ich glaube 20mA, aber du kannst den Würfel Problemlos mit normalen LEDs bauen.

    Login or register to post comments

  1. Sebbl (not verified) sagt:

    ein blick auf die arduino homepage hilft ;-)
    40mA pro kanal sind drin
    und am usb ports wirds wohl bei den 27 LEDs jetzt auch nicht liegen (ein usb port liefert 500mA), da die leds ja NIE alle gleichzeitug an sein KÖNNEN

    ich werd mir das bei zeiten auch mal nachbauen =)

    Login or register to post comments

  1. MatthiasG. sagt:

    Hallo!

    Mir ist aufgefallen, dass einige Bilder fehlen. Zufälligerweise habe ich hier so einen Würfel rumliegen :) Kann man die Bilder fest auf dem Webspace hier hochladen, damit die nicht nochmal "verloren" gehen?

    Gruß,
    Matthias

    Login or register to post comments

  1. Chris sagt:

    Hallo, bitte ladet die Bilder erneut hoch, denn sonst kann ich den Würfel nicht basteln.

    Danke im Vorraus!

    Gruß
    Chris

    Login or register to post comments