Inhaltsverzeichnis:

So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino - Gunook
So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino - Gunook

Video: So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino - Gunook

Video: So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino - Gunook
Video: BitBastelei #206 - Bausatz: 8x8x8 LED-Cube (Banggood) 2024, Dezember
Anonim
So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino
So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino
So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino
So bauen Sie einen 8x8x8 LED-Würfel und steuern ihn mit einem Arduino

Januar 2020 bearbeiten:

Ich lasse dies weg, falls jemand es verwenden möchte, um Ideen zu generieren, aber es hat keinen Sinn mehr, einen Cube basierend auf dieser Anleitung zu bauen. Die LED-Treiber-ICs werden nicht mehr hergestellt, und beide Skizzen wurden in alten Versionen von Arduino und Processing geschrieben und laufen nicht mehr. Ich weiß nicht, was geändert werden muss, damit sie funktionieren. Außerdem führte meine Konstruktionsmethode zu einem schiefen Durcheinander. Mein Vorschlag ist, den Anweisungen auf einem anderen instructable zu folgen oder ein Kit zu kaufen. Dieser Würfel kostete 2011 rund 50 US-Dollar, Sie können jetzt ein Kit bei Ebay für ungefähr 20 US-Dollar kaufen.

Ursprüngliche Einführung:

Es gibt viele LED-Würfel auf Instructables, also warum einen anderen tun? Die meisten sind für kleine Würfel mit 27 oder 64 LEDs, selten größere, da sie auf die Anzahl der verfügbaren Ausgänge des Mikrocontrollers beschränkt sind. Dieser Würfel besteht aus 512 LEDs und benötigt nur 11 Ausgangsdrähte vom Arduino. Wie ist das möglich? Durch Verwendung des Allegro Microsystems A6276EA LED-Treibers.

Ich zeige Ihnen, wie ich den Würfel selbst gemacht habe, das Controller Board und schließlich den Code, um ihn zum Leuchten zu bringen.

Schritt 1: Materialien

Materialien
Materialien

Alle Teile, die Sie benötigen, um den Würfel zu bauen: 1 Arduino/Freeduino mit Atmega168 oder höher Chip 512 LEDs, Größe und Farbe sind Ihnen überlassen, ich habe 3mm rot 4 A6276EA LED Treiberchips von Allegro 8 NPN Transistoren verwendet um den Spannungsfluss zu steuern, ich habe den BDX53B Darlington Transistor 4 1000 Ohm Widerstände, 1/4 Watt oder höher 12 560 Ohm Widerstände, 1/4 Watt oder höher 1 330uF Elektrolytkondensator 4 24-polige IC-Sockel 9 16-polige IC-Sockel 4 "x4" (oder größer)) Stück Perfboard, um alle Teile zu halten, Ein alter Computerlüfter Ein altes Floppy-Controller-Kabel Ein altes Computer-Netzteil Viel Anschlussdraht, Lötzinn, Lötkolben, Flussmittel, alles andere, um Ihnen das Leben zu erleichtern, während Sie dies machen. 7 "x7" (oder größeres) Stück Holz, das verwendet wird, um die LED-Lötvorrichtung herzustellen Ein schöner Fall, um Ihren fertigen Würfel zu präsentieren Mein Arduino / Freeduino der Wahl ist das Bare Bones Board (BBB) von www.moderndevice.com. Die LEDs wurden bei eBay gekauft und kosteten 23 US-Dollar für 1000 LEDs, die aus China versendet wurden. Die restliche Elektronik wurde von Newark Electronics (www.newark.com) gekauft und sollte nur etwa 25 US-Dollar kosten. Wenn Sie alles kaufen müssen, sollte dieses Projekt nur etwa 100 US-Dollar kosten. Ich habe eine Menge alter Computergeräte, also kamen diese Teile vom Schrotthaufen.

Schritt 2: Montieren Sie die Schichten

Stellen Sie die Schichten zusammen
Stellen Sie die Schichten zusammen
Stellen Sie die Schichten zusammen
Stellen Sie die Schichten zusammen
Stellen Sie die Schichten zusammen
Stellen Sie die Schichten zusammen
Stellen Sie die Schichten zusammen
Stellen Sie die Schichten zusammen

So machen Sie 1 Schicht (64 LEDs) dieses 512 LED-Würfels: Die LEDs, die ich gekauft habe, hatten einen Durchmesser von 3 mm. Ich beschloss, kleine LEDs zu verwenden, um die Kosten zu senken und die endgültige Größe des Würfels klein genug zu machen, um auf meinem Schreibtisch oder Regal zu sitzen, ohne den Schreibtisch oder das Regal vollständig zu übernehmen. Ich zeichnete ein 8x8-Raster mit ungefähr 0,6 Zoll zwischen den Linien. Dies gab mir eine Würfelgröße von etwa 4,25 Zoll pro Seite. Bohren Sie 3 mm Löcher, wo sich die Linien treffen, um eine Schablone herzustellen, die die LEDs hält, während Sie jede Schicht löten. Der A6276EA ist ein Stromsenkengerät. Dies bedeutet, dass es einen Pfad zur Erde und nicht einen Pfad zur Quellenspannung bereitstellt. Sie müssen den Würfel in einer gemeinsamen Anodenkonfiguration bauen. Die meisten Würfel sind als gemeinsame Kathode gebaut. Die lange Seite der LED ist im Allgemeinen die Anode, überprüfen Sie Ihre, um sicherzugehen. Das erste, was ich tat, war, jede LED zu testen. Ja, es ist ein langer und langweiliger Prozess und Sie können ihn überspringen, wenn Sie möchten. Ich würde lieber die Zeit damit verbringen, die LEDs zu testen, als nach dem Zusammenbau einen toten Punkt in meinem Würfel zu finden. Ich habe 1 tote LED von 1000 gefunden. Nicht schlecht. Schneiden Sie 11 Stücke massiven, nicht isolierten Anschlussdraht auf 5 Zoll. Platzieren Sie 1 LED in jedes Ende einer Reihe in Ihrer Vorrichtung und löten Sie dann den Draht an jede Anode. Legen Sie nun die restlichen 6 LEDs in die Reihe und löten Sie diese Anoden an den Draht. Dies kann vertikal oder horizontal erfolgen, es spielt keine Rolle, solange Sie alle Ebenen auf die gleiche Weise ausführen. Wenn Sie jede Reihe beenden, schneiden Sie das überschüssige Blei von den Anoden ab. Ich habe ungefähr 1/8 gelassen. Wiederholen Sie dies, bis Sie alle 8 Reihen fertig haben. Löten Sie nun 3 Stück Anschlussdraht über die Reihen, die Sie gerade gemacht haben, um sie alle zu einem einzigen Stück zu verbinden. Ich habe dann die Schicht getestet, indem ich 5 Volt anlegte um das Drahtgitter durch einen Widerstand zu verbinden und die Masseleitung zu jeder Kathode zu berühren. Ersetzen Sie alle LEDs, die nicht leuchten. Entfernen Sie vorsichtig die Schicht von der Schablone und legen Sie sie beiseite. Wenn Sie die Drähte verbiegen, machen Sie sich keine Sorgen, einfach Richten Sie sie so gut Sie können. Es ist sehr einfach zu biegen. Wie Sie auf meinen Bildern sehen können, hatte ich viele gebogene Drähte. Herzlichen Glückwunsch, Sie sind 1/8 fertig. Machen Sie 7 weitere Schichten. OPTIONAL: Zum Löten die Schichten zusammen (Schritt 3) einfacher, während sich jede nachfolgende Schicht noch in der Schablone befindet, biegen Sie den oberen Viertelzoll der Kathode um 45 bis 90 Grad nach vorne. Dadurch kann das Kabel um die LED herumreichen, mit der es verbunden ist, und das Löten wird erheblich erleichtert Machen Sie dies nicht mit Ihrer ersten Schicht, wir erklären, dass eine die unterste Schicht ist und die Leads müssen s sein gerade.

Schritt 3: Zusammenbau des Würfels

Baue den Würfel zusammen
Baue den Würfel zusammen
Baue den Würfel zusammen
Baue den Würfel zusammen

So löten Sie alle Schichten zu einem Würfel zusammen: Der harte Teil ist fast vorbei. Legen Sie nun vorsichtig eine Schicht zurück in die Schablone, aber üben Sie nicht zu viel Druck aus, wir möchten sie entfernen können, ohne sie zu verbiegen. Diese erste Schicht ist die Oberseite des Würfels. Legen Sie eine weitere Schicht auf die erste, richten Sie die Leitungen aus und beginnen Sie mit dem Löten. Ich fand es am einfachsten, zuerst Ecken, dann Außenkanten und dann Innenreihen zu machen. Fügen Sie weiterhin Schichten hinzu, bis Sie fertig sind. Wenn Sie die Leitungen vorgebogen haben, bewahren Sie die Schicht mit geraden Leitungen zum Schluss auf. Es ist der Boden. Ich hatte ein wenig zu viel Platz zwischen den einzelnen Schichten, so dass ich nicht ganz eine Würfelform bekam. Kein großes Problem, damit kann ich leben.

Schritt 4: Aufbau der Controllerplatine

Aufbau der Controllerplatine
Aufbau der Controllerplatine
Aufbau der Controllerplatine
Aufbau der Controllerplatine
Aufbau der Controllerplatine
Aufbau der Controllerplatine

So bauen Sie die Controller-Platine und befestigen sie an Ihrem Arduino: Folgen Sie dem Schaltplan und bauen Sie die Platine nach Belieben. Ich habe die Controller-Chips in der Mitte der Platine platziert und benutze die linke Seite, um die Transistoren zu halten, die den Strom zu jeder Schicht des Würfels steuern, und benutzte die rechte Seite, um die Anschlüsse zu halten, die von den Controller-Chips zu den Kathoden von gehen die LED-Säulen. Ich habe einen alten 40-mm-Computerlüfter mit einem weiblichen Molex-Anschluss gefunden, um ihn an ein Computernetzteil anzuschließen. Dies war perfekt. Ein kleiner Luftstrom über den Chip ist nützlich und ich habe jetzt eine einfache Möglichkeit, den Controller-Chips und dem Arduino selbst 5 Volt zur Verfügung zu stellen. Auf dem Schaltplan ist RC der Strombegrenzungswiderstand für alle LEDs, die an jeden A6276EA angeschlossen sind. Ich habe 1000 Ohm verwendet, weil es 5 Milliampere an die LED liefert, genug, um sie zu beleuchten. Ich verwende High Brightness, keine Super Brite LEDs, daher ist die Stromaufnahme geringer. Wenn alle 8 LEDs in einer Spalte gleichzeitig leuchten, sind es nur 40 Milliampere. Jeder Ausgang des A6276EA kann 90 Milliampere verarbeiten, also bin ich gut im Bereich. RL ist der Widerstand, der mit den Logik- oder Signalleitungen verbunden ist. Der tatsächliche Wert ist nicht sehr wichtig, solange er existiert und nicht zu groß ist. Ich verwende 560 Ohm, weil ich eine Reihe von ihnen zur Verfügung hatte. Ich habe einen Leistungstransistor verwendet, der bis zu 6 Ampere verarbeiten kann, um den Strom zu steuern, der zu jeder Schicht des Würfels fließt. Dies ist für dieses Projekt übertrieben, da jede Schicht des Würfels nur 320 Milliampere zieht, wenn alle LEDs leuchten. Ich wollte Platz zum Wachsen und könnte das Controller Board später für etwas Größeres verwenden. Verwenden Sie einen Transistor in beliebiger Größe, der Ihren Anforderungen entspricht. Der 330-uF-Kondensator über der Spannungsquelle dient dazu, kleinere Spannungsschwankungen auszugleichen. Da ich ein altes Computer-Netzteil verwende, ist dies nicht notwendig, aber ich habe es für den Fall gelassen, dass jemand einen 5-Volt-Wandadapter verwenden möchte, um seinen Cube mit Strom zu versorgen. Jeder A6276EA-Controller-Chip hat 16 Ausgänge. Ich hatte keinen anderen passenden Stecker, also lötete ich Kabel an einige 16-polige IC-Sockel und werde diese verwenden, um die Controller-Platine mit dem Cube zu verbinden. Ich habe auch einen IC-Sockel in zwei Hälften geschnitten und verwendet, um die 8 Drähte zu verbinden, die die Transistoren mit den Schichten des Würfels verbinden. Ich schneide ungefähr 5 Zoll vom Ende eines alten Floppy-Kabels ab, um es als Anschluss für das Arduino zu verwenden. Das Floppy-Kabel ist 2 Reihen mit 20 Pins, das blanke Bones Board hat 18 Pins. Dies ist eine sehr kostengünstige (kostenlose) Möglichkeit, das Arduino mit dem Board zu verbinden. Ich habe das Flachbandkabel in Gruppen von 2 Drähten auseinander gezogen, die Enden abisoliert und zusammengelötet. Auf diese Weise können Sie den Arduino in eine der beiden Reihen des Anschlusses stecken. Folgen Sie dem Schaltplan und löten Sie den Stecker an. Vergessen Sie nicht, die 5-Volt- und Masseleitungen für den Stecker zu löten, um den Arduino mit Strom zu versorgen. Ich beabsichtige, diese Controllerplatine für andere Projekte zu verwenden, damit das modulare Design für mich gut funktioniert. Wenn Sie die Verbindungen fest verdrahten möchten, ist das in Ordnung.

Schritt 5: Bauen Sie die Vitrine

Baue die Vitrine
Baue die Vitrine
Baue die Vitrine
Baue die Vitrine
Baue die Vitrine
Baue die Vitrine
Baue die Vitrine
Baue die Vitrine

Lassen Sie Ihr Endprodukt schön aussehen: Ich habe diese Holzkiste in der Hobby Lobby für 4 US-Dollar gefunden und dachte, sie wäre perfekt, da sie innen Platz für den ganzen Draht bietet und gut aussieht. Ich habe diesen rot gefärbt, den gleichen Fleck, den ich auf meinem Computertisch verwendet habe, damit sie übereinstimmen. Zeichnen Sie ein Gitter in der gleichen Größe wie das Gitter, das für die Lötvorrichtung verwendet wird (0,6 Zoll zwischen den Linien). Bohren Sie Löcher, um die Leitungen durch die Oberseite zu ermöglichen, und bohren Sie ein weiteres Loch hinter dem Gitter für die Schicht- / Ebenendrähte (von den Transistoren in Schritt 4). Ich habe auf die harte Tour gelernt, dass es sehr schwierig ist, 64 Leads durch kleine Löcher zu führen. Ich beschloss schließlich, alle Löcher etwas größer zu bohren, um den Vorgang zu beschleunigen. Am Ende habe ich einen 0,2-Bohrer verwendet. Jetzt, da der Würfel oben auf dem Display sitzt, biegen Sie die Eckleitungen, damit der Würfel beim Anbringen der Drähte an Ort und Stelle bleibt. Stellen Sie sicher, dass Sie alle Drähte in der richtigen Reihenfolge anbringen. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64Und verbinden Sie die Drähte zwischen den Schichten (im Schaltplan als "Ebenen" bezeichnet) und den Transistoren. Der Transistor auf Arduino-Pin 6 ist die oberste Schicht des Würfels. Wenn Sie die Drähte falsch verstehen, ist dies innerhalb des Codes etwas korrigierbar, aber es kann viel Arbeit erfordern, also versuchen Sie, sie in die richtige Reihenfolge zu bringen. Okay, Alles ist gebaut und einsatzbereit, holen wir uns etwas Code und probieren Sie es aus.

Schritt 6: Code

Code
Code

Der Code für diesen Cube ist anders als die meisten anderen. Ich werde erklären, wie er sich anpasst. Der meiste Cube-Code verwendet direkte Schreibvorgänge in die Spalten. Der Code sagt, dass Spalte X beleuchtet werden muss, also gib ihm etwas Saft und wir sind fertig. Das funktioniert nicht, wenn Controller-Chips verwendet werden. Die Controller-Chips verwenden 4 Drähte, um mit dem Arduino zu kommunizieren: SPI-in, Clock, Latch und Enable. Ich habe den Enable-Pin (Pin 21) über einen Widerstand (RL) geerdet, damit der Ausgang immer aktiviert ist. Ich habe das Enable nie verwendet, also habe ich es aus dem Code genommen. SPI-in ist der Dateneingang vom Arduino, Clock ist ein Timing-Signal zwischen den beiden, während sie sprechen, und Latch teilt dem Controller mit, dass es Zeit ist, neue Daten zu akzeptieren. Jeder Ausgang für jeden Chip wird von einer 16-Bit-Binärzahl gesteuert. Zum Beispiel; Das Senden von 1010101010101010 an den Controller würde dazu führen, dass jede andere LED am Controller aufleuchtet. Ihr Code muss alles, was für eine Anzeige benötigt wird, durchlaufen und diese Binärzahl erstellen und dann an den Chip senden. Es ist einfacher als es klingt. Technisch gesehen ist es eine Menge bitweiser Addition, aber ich bin in bitweiser Mathematik lausig, also mache ich alles in Dezimalform. Die ersten 16 Bits sind wie folgt: 1 << 0 == 1 1 << 1 == 2 1 << 2 == 4 1 << 3 == 8 1 << 4 == 16 1 << 5 == 32 1 << 6 == 64 1 << 7 == 128 1 << 8 == 256 1 << 9 == 512 1 << 10 == 1024 1 << 11 == 2048 1 << 12 == 4096 1 << 13 == 8192 1 << 14 == 16384 1 << 15 == 32768Das heißt, wenn Sie wollen Leuchten die Ausgänge 2 und 10 auf, addieren Sie die Dezimalstellen (2 und 512) zusammen, um 514 zu erhalten. Senden Sie 514 an den Controller und die Ausgänge 2 und 10 leuchten. Aber wir haben mehr als 16 LEDs, also wird es etwas schwieriger. Wir müssen Anzeigeinformationen für 4 Chips erstellen. Was so einfach ist, wie es für 1 zu bauen, machen Sie es einfach noch 3 Mal. Ich verwende ein globales Variablenarray, um die Steuercodes zu halten. So ist es einfach einfacher. Sobald Sie alle 4 Displaycodes zum Senden bereit haben, lassen Sie den Riegel fallen (stellen Sie ihn auf LOW) und beginnen Sie mit dem Senden der Codes. Sie müssen die letzte zuerst senden. Senden Sie die Codes für Chip 4, dann 3, dann 2, dann 1, dann setzen Sie den Latch wieder auf HIGH. Da der Enable-Pin immer mit Masse verbunden ist, wird die Anzeige sofort geändert. Der meiste Würfelcode, den ich auf Instructables gesehen habe, und das Web im Allgemeinen besteht aus einem riesigen Codeblock, um eine voreingestellte Animation auszuführen. Das funktioniert gut für kleinere Würfel, aber das Speichern, Lesen und Senden von 512 Binärbits jedes Mal, wenn Sie die Anzeige ändern möchten, nimmt viel Speicher in Anspruch. Der Arduino konnte nicht mehr als ein paar Frames verarbeiten. Also habe ich einige einfache Funktionen geschrieben, um den Würfel in Aktion zu zeigen, die auf Berechnungen und nicht auf voreingestellten Animationen beruhen. Ich habe eine kleine Animation eingefügt, um zu zeigen, wie es gemacht wird, aber ich überlasse es Ihnen, Ihre eigenen Displays zu erstellen.cube8x8x8.pde ist der Arduino-Code. Ich habe vor, dem Code weiterhin Funktionen hinzuzufügen und werde das Programm regelmäßig aktualisieren.matrix8x8.pde ist ein Programm in Processing, um eigene Displays zu erstellen. Die erste angegebene Nummer geht in Muster1, die zweite in Muster2 usw. Das Datenblatt für den A6276EA ist verfügbar unter:

Schritt 7: Zeigen Sie Ihre Handarbeit an

Zeigen Sie Ihre Handarbeit
Zeigen Sie Ihre Handarbeit

Sie sind fertig, jetzt ist es Zeit, Ihren Würfel zu genießen. Wie Sie sehen, kam mein Würfel etwas schief heraus. Ich bin jedoch nicht sehr daran interessiert, ein weiteres zu bauen, also werde ich damit leben, dass es schief ist. Ich habe ein paar tote Stellen, die ich untersuchen muss. Es könnte eine schlechte Verbindung sein, oder ich brauche möglicherweise einen neuen Controller-Chip. Ich hoffe, dass dieses Instructable Sie dazu inspiriert, Ihren eigenen Würfel oder ein anderes LED-Projekt mit dem A6276AE zu bauen. Posten Sie einen Link in den Kommentaren, wenn Sie einen erstellen. Ich habe versucht zu entscheiden, wohin ich von hier aus gehen soll. Das Controllerboard wird auch einen 4x4x4 RGB-Würfel steuern, also ist das eine Möglichkeit. Ich denke, es wäre nett, eine Kugel zu erstellen, und so wie ich den Code geschrieben habe, wäre es nicht allzu schwierig.

Empfohlen: