Schaltungen

Wie man einen 8x8x8 LED-Würfel baut und ihn mit einem Arduino steuert: 7 Schritte (mit Bildern)

Ich baue mir einen 8 x 8 LED Würfel! (erfolglos..)

Ich baue mir einen 8 x 8 LED Würfel! (erfolglos..)

Inhaltsverzeichnis:

Anonim

Es gibt viele LED-Würfel auf Instructables. Warum also noch einen? Die meisten sind für kleine Würfel mit 27 oder 64 LEDs vorgesehen, selten größer, da sie auf die Anzahl der auf dem Mikrocontroller verfügbaren Ausgänge beschränkt sind. Dieser Würfel besteht aus 512 LEDs und benötigt nur 11 Ausgangskabel vom Arduino. Wie ist das möglich? Mit dem LED-Treiber A6276EA von Allegro Microsystems.
Ich zeige Ihnen, wie ich den Cube selbst, die Controller-Karte und schließlich den Code zum Leuchten gebracht habe.


Zubehör:

Schritt 1: Materialien

Alle Teile, die Sie zum Erstellen des Cubes benötigen:
1 Arduino / Freeduino mit Atmega168 oder höherem Chip
512 LEDs, Größe und Farbe liegen bei Ihnen, ich habe 3mm rot verwendet
4 A6276EA LED-Treiberchips von Allegro
8 NPN-Transistoren zur Steuerung des Spannungsflusses habe ich den BDX53B-Darlington-Transistor verwendet
4 1000 Ohm Widerstände, 1/4 Watt oder höher
12 560 Ohm Widerstände, 1/4 Watt oder höher
1 Elektrolytkondensator 330uF
4 24-poliger IC-Sockel
9 16-polige IC-Sockel
4 "x4" (oder größer) Stück Perfboard, um alle Teile zu halten,
Ein alter Computerfan
Ein altes Floppy-Controller-Kabel
Ein altes Computer-Netzteil
Viel Anschlussdraht, Lötzinn, Lötkolben, Flussmittel, alles andere
Erleichtern Sie sich dabei Ihr Leben.
7 "x7" (oder größeres) Stück Holz, das zur Herstellung der LED-Lötvorrichtung verwendet wird
Ein schöner Fall, um Ihren fertigen Würfel anzuzeigen
Mein Arduino / Freeduino der Wahl ist das Bare Bones Board (BBB) ​​von www.moderndevice.com. Die LEDs wurden bei eBay gekauft und kosten 23 US-Dollar für 1000 aus China versandte LEDs. Die restliche Elektronik wurde von Newark Electronics (www.newark.com) gekauft und sollte nur rund 25 US-Dollar kosten. Wenn Sie alles kaufen müssen, sollte dieses Projekt nur rund 100 US-Dollar kosten.
Ich habe eine Menge alter Computerausrüstung, so dass diese Teile vom Schrotthaufen kamen.

Schritt 2: Montieren Sie die Schichten

Wie man 1 Schicht (64 LEDs) dieses Würfels mit 512 LEDs herstellt:
Die LEDs, die ich gekauft habe, hatten einen Durchmesser von 3 mm. Ich entschied mich für kleine LEDs, um die Kosten zu senken und die endgültige Größe des Würfels so klein zu halten, dass er auf meinem Schreibtisch oder Regal Platz findet, ohne den Schreibtisch oder das Regal vollständig zu übernehmen.
Ich habe ein 8x8-Raster mit einem Abstand von ca. 0,6 Zoll zwischen den Zeilen gezeichnet. Dies gab mir eine Würfelgröße um 4,25 Zoll pro Seite. Bohren Sie 3 mm große Löcher, in denen sich die Linien treffen, um eine Schablone zu erstellen, die die LEDs beim Löten jeder Schicht hält.
Der A6276EA ist ein Stromsenkengerät. Dies bedeutet, dass es einen Pfad zur Erde und keinen Pfad zur Quellenspannung gibt. Sie müssen den Cube in einer Konfiguration mit einer gemeinsamen Anode erstellen. Die meisten Würfel werden als gemeinsame Kathode gebaut.
Die lange Seite der LED ist in der Regel die Anode. Als erstes habe ich jede LED getestet. Ja, es ist ein langer und langweiliger Prozess, den Sie gerne überspringen können. Ich würde lieber die Zeit zum Testen der LEDs verwenden, als nach dem Zusammenbau einen toten Punkt in meinem Würfel zu finden. Ich fand 1 tote LED von den 1000. Nicht schlecht.
Schneiden Sie 11 Stücke festen, nicht isolierten Anschlussdraht auf 5 Zoll ab. Platzieren Sie 1 LED in jedes Ende einer Reihe in Ihrer Schablone 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. Schneiden Sie am Ende jeder Reihe das überschüssige Blei von den Anoden ab. Ich ging um 1/8 ".
Wiederholen Sie diesen Vorgang, bis alle 8 Zeilen fertig sind. Löten Sie nun 3 Stück Draht über die Reihen, die Sie gerade hergestellt haben, um sie alle zu einem Stück zu verbinden. Ich habe dann die Schicht getestet, indem ich 5 Volt an die angeschlossen habe
Schließen Sie ein Drahtgitter über einen Widerstand an und berühren Sie die Erdungsleitung zu jeder Kathode. Ersetzen Sie alle nicht leuchtenden LEDs.
Entfernen Sie vorsichtig die Schicht von der Schablone und legen Sie sie beiseite. Wenn Sie die Drähte biegen, machen Sie sich keine Sorgen, richten Sie sie einfach so gut wie möglich aus. Es ist sehr leicht zu biegen. Wie Sie meinen Bildern entnehmen können, hatte ich viele gebogene Drähte.
Herzlichen Glückwunsch, Sie sind 1/8 fertig. Machen Sie 7 weitere Schichten.
OPTIONAL: Um das Zusammenlöten der Schichten zu vereinfachen (Schritt 3), während sich jede nachfolgende Schicht noch in der Spannvorrichtung befindet, biegen Sie den oberen Zentimeter der Kathode um 45 bis 90 Grad nach vorne. Dies ermöglicht die
Blei, um die LED zu erreichen, mit der es verbunden ist, und das Löten erheblich zu erleichtern. Tun Sie dies nicht für Ihre erste Schicht, wir erklären, dass eine die unterste Schicht ist und die Ableitungen gerade sein müssen.

Schritt 3: Bauen Sie den Würfel zusammen

So löten Sie alle Schichten zu einem Würfel zusammen:
Der schwierige 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 in der Lage sein, sie zu entfernen, ohne sie zu biegen. 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 zu machen, dann Außenkante, dann Innenreihen.
Fügen Sie weitere Ebenen hinzu, bis Sie fertig sind. Wenn Sie die Litzen vorgebogen haben, achten Sie darauf, dass Sie die Lage zum Schluss mit geraden Litzen sichern. Es ist der Boden.
Ich hatte etwas zu viel Platz zwischen den Schichten, so dass ich nicht ganz die Form eines Würfels bekam. Keine große Sache, ich kann damit leben.

Schritt 4: Aufbau der Steuerplatine

So bauen Sie die Controller-Karte auf und befestigen sie an Ihrem Arduino:
Folgen Sie dem Schema und bauen Sie das Board, wie Sie möchten. Ich platzierte die Controller-Chips in der Mitte der Platine und benutzte die linke Seite, um die Transistoren zu halten, die den Strom zu jeder Schicht des Würfels steuern, und die rechte Seite, um die Anschlüsse zu halten, die von den Controller-Chips zu den Kathoden von gehen die LED-Säulen.
Ich fand einen alten 40-mm-Computerlüfter mit einer Molex-Buchse, um ihn an ein Computer-Netzteil anzuschließen. Das war perfekt. Ein kleiner Luftstrom über den Chip ist nützlich, und ich habe jetzt eine einfache Möglichkeit, die Controller-Chips und den Arduino selbst mit 5 Volt zu versorgen.
Im Schaltplan ist RC der Strombegrenzungswiderstand für alle an jeden A6276EA angeschlossenen LEDs. Ich habe 1000 Ohm verwendet, weil es 5 Milliampere für 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, sodass ich in Reichweite bin.
RL ist der Widerstand, der an die Logik- oder Signalleitungen angeschlossen ist. Der tatsächliche Wert ist nicht sehr wichtig, solange er existiert und nicht zu groß ist. Ich benutze 560 Ohm, weil ich ein paar davon zur Verfügung hatte.
Ich habe einen Leistungstransistor verwendet, der bis zu 6 Ampere verarbeiten kann, um den Strom zu jeder Schicht des Würfels zu steuern. Dies ist ein Overkill für dieses Projekt, da jede Schicht des Würfels nur 320 Milliampere aufnimmt, wenn alle LEDs leuchten. Ich wollte Platz zum Wachsen und könnte die Controller-Platine später für etwas größeres verwenden. Verwenden Sie Transistoren jeder Größe, die Ihren Anforderungen entspricht.
Der 330-uF-Kondensator an der Spannungsquelle soll dabei helfen, geringfügige Spannungsschwankungen auszugleichen. Da ich ein altes Computer-Netzteil verwende, ist dies nicht erforderlich, aber ich habe es nur für den Fall gelassen, dass jemand einen 5-Volt-Wandadapter verwenden möchte, um seinen Würfel mit Strom zu versorgen.
Jeder A6276EA-Controller-Chip verfügt über 16 Ausgänge. Ich hatte keinen anderen geeigneten Stecker, also habe ich Kabel an 16-polige IC-Sockel gelötet 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 damit die 8 Drähte verbunden, die die Transistoren mit den Schichten des Würfels verbinden.
Ich habe etwa 5 Zoll des Endes eines alten Floppy-Kabels abgeschnitten, um es als Anschluss für den Arduino zu verwenden. Das Floppy-Kabel besteht aus 2 Reihen mit 20 Pins, das Bare-Bones-Board aus 18 Pins. Dies ist eine sehr kostengünstige Möglichkeit (kostenlos), um das Arduino mit dem Board zu verbinden. Ich zog das Flachbandkabel in Gruppen von 2 Drähten auseinander, entfernte die Enden und löte sie zusammen. Dies ermöglicht es Ihnen, den Arduino in jede Reihe des Steckverbinders zu stecken. Folgen Sie dem Schaltplan und löten Sie den Stecker ein. Vergessen Sie nicht, die 5-Volt- und Erdungskabel für den Anschluss zu löten, um den Arduino mit Strom zu versorgen.
Ich beabsichtige, diese Controller-Karte für andere Projekte zu verwenden, damit der modulare Aufbau für mich gut funktioniert. Wenn Sie die Verbindungen fest verdrahten möchten, ist das in Ordnung.

Schritt 5: Bauen Sie die Vitrine

Stellen Sie sicher, dass Ihr Endprodukt gut aussieht:
Ich fand diese Holzkiste in der Hobby Lobby für 4 US-Dollar und dachte, sie wäre perfekt, da sie Platz für den ganzen Draht bietet und außerdem gut aussieht. Ich habe diesen einen roten Fleck, denselben Fleck, den ich auf meinem Computertisch verwendet habe, so gefärbt, dass sie übereinstimmen.
Zeichnen Sie ein Gitter auf die gleiche Größe wie das für die Lötvorrichtung verwendete Gitter (0,6 Zoll zwischen den Linien). Bohren Sie Löcher, um die Leitungen durch die Oberseite zu lassen, und bohren Sie ein weiteres Loch hinter dem Gitter für die Schicht- / Ebenendrähte (von den Transistoren in Schritt 4). Ich habe gelernt, wie schwierig es ist, 64 in einer Reihe anzuordnen, um durch kleine Löcher zu gelangen. Schließlich habe ich beschlossen, alle Löcher ein wenig zu vergrößern, um den Vorgang zu beschleunigen. Am Ende habe ich einen .2-Bohrer verwendet.
Biegen Sie jetzt, da der Würfel oben auf dem Display sitzt, die Eckkabel, 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 anschließen.
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 64
Verbinden Sie die Drähte zwischen den Schichten (im Schaltplan mit "Ebenen" gekennzeichnet) und den Transistoren. Der Transistor auf dem Arduino-Pin 6 ist die oberste Schicht des Würfels.
Wenn Sie die Kabel falsch verlegen, kann dies zwar im Code korrigiert werden, erfordert jedoch möglicherweise viel Arbeit. Versuchen Sie daher, die Kabel in der richtigen Reihenfolge anzuordnen.
Okay, alles ist fertig und bereit zu gehen, lasst uns einen Code holen und es ausprobieren.

Schritt 6: Code

Der Code für diesen Würfel ist anders als die meisten anderen, ich werde erklären, wie man ihn anpasst.
Der meiste Cube-Code verwendet direkte Schreibvorgänge in die Spalten. Der Code besagt, dass Spalte X beleuchtet werden muss. Geben Sie ihm etwas Saft und wir sind fertig. Das geht bei Verwendung von Controller-Chips nicht.
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 benutzt, also habe ich es aus dem Code genommen. SPI-In sind die Daten vom Arduino, Clock ist ein Zeitsignal 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 durch eine 16-Bit-Binärzahl gesteuert. Zum Beispiel; Wenn 1010101010101010 an die Steuerung gesendet wird, leuchtet jede zweite LED an der Steuerung. Ihr Code muss alles durchlaufen, was für eine Anzeige erforderlich ist, und diese Binärzahl aufbauen. Dann muss er an den Chip gesendet werden. Es ist einfacher als es klingt. Technisch ist es ein Haufen bitweiser Addition, aber ich bin schlecht in bitweiser Mathematik, also mache ich alles in Dezimalzahlen.
Die Dezimalstellen für die ersten 16 Bits lauten 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 == 32768
Wenn Sie also die Ausgänge 2 und 10 aufleuchten lassen möchten, addieren Sie die Dezimalstellen (2 und 512), um 514 zu erhalten. Senden Sie 514 an die Steuerung, und die Ausgänge 2 und 10 leuchten.
Wir haben aber mehr als 16 LEDs, so dass es etwas schwieriger wird. Wir müssen Anzeigeinformationen für 4 Chips erstellen. Was so einfach ist, wie es für 1 zu bauen, mache es einfach noch dreimal. Ich verwende ein globales Variablenarray, um die Steuercodes zu halten. So ist es einfach einfacher.
Sobald Sie alle 4 Anzeigecodes zum Senden bereit haben, lassen Sie die Verriegelung fallen (stellen Sie sie auf LOW) und beginnen Sie mit dem Senden der Codes. Sie müssen den letzten zuerst senden. Senden Sie die Codes für Chip 4, dann 3, dann 2, dann 1 und setzen Sie die Verriegelung wieder auf HIGH. Da der Enable-Pin immer mit Masse verbunden ist, wird die Anzeige sofort geändert.
Der meiste Würfel-Code, den ich auf Instructables und im Internet im Allgemeinen gesehen habe, besteht aus einem riesigen Codeblock, der zum Ausführen einer voreingestellten Animation verwendet wird.Das funktioniert gut für kleinere Cubes, muss aber jedes Mal, wenn Sie die Anzeige ändern möchten, 512 Bit Binärdatei speichern, lesen und senden, nimmt dies viel Speicher in Anspruch. Der Arduino konnte nicht mehr als ein paar Frames verarbeiten. Deshalb 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 beigefügt, um zu zeigen, wie es gemacht wird, aber ich überlasse es Ihnen, Ihre eigenen Displays zu bauen.
cube8x8x8.pde ist der Arduino-Code. Ich plane, dem Code weitere Funktionen hinzuzufügen, und werde das Programm regelmäßig aktualisieren.
matrix8x8.pde ist ein Programm in Processing zum Erstellen eigener Anzeigen. Die erste Nummer wird in pattern1 eingegeben, die zweite in pattern2 usw.
Das Datenblatt für den A6276EA finden Sie unter:
http://www.allegromicro.com/en/Products/Part_Numbers/6276/6276.pdf

Schritt 7: Zeigen Sie Ihre Handarbeit

Sie sind fertig, jetzt ist es Zeit, Ihren Würfel zu genießen.


Wie Sie sehen, ist mein Würfel etwas schief herausgekommen. Ich bin allerdings nicht sehr daran interessiert, ein neues zu bauen, also lebe ich damit, dass es schief geht. Ich habe ein paar tote Stellen, die ich untersuchen muss. Möglicherweise handelt es sich um eine schlechte Verbindung, oder ich benötige einen neuen Controller-Chip.
Ich hoffe, dieses Instructable inspiriert Sie, Ihren eigenen Würfel oder ein anderes LED-Projekt mit dem A6276AE zu bauen. Schreibe einen Link in die Kommentare, wenn du einen erstellst.
Ich habe versucht zu entscheiden, wohin ich von hier aus gehen soll. Die Controller-Karte steuert auch einen 4x4x4-RGB-Würfel, das ist also eine Möglichkeit. Ich denke, es wäre ordentlich, eine Kugel zu machen, und so, wie ich den Code geschrieben habe, wäre es nicht allzu schwierig.