Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

5x5x5 LED-Würfel

Komponenten und Verbrauchsmaterialien

Arduino Mega 2560
× 1
Blaue LED
× 125
NTE85-NPN-Transistor
× 5
22 Gauge verzinnter Kupferdraht
Wird verwendet, um Schichten zusammenzubinden und Schichtkathoden auf die Hauptplatine zu bringen
× 1
180 Ohm Widerstand, 1/4 Watt
× 25
9 cm x 15 cm Prototyping-Board
× 1
330 Ohm Widerstand, 1/4 Watt
× 5
Optional - 9-Volt-Netzteil für MEGA
USB-Kabel versorgt diesen Cube gut mit Strom, aber wenn Sie ihn anschließen möchten, hier ist ein Zubehör
× 1

Notwendige Werkzeuge und Maschinen

Lötkolben (generisch)
Heißklebepistole (generisch)
Blue Tack
Wird verwendet, um LEDs während des Lötens an Ort und Stelle zu halten

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

EINFÜHRUNG

Die meisten Leute lieben LED-Würfel, aber große, wie 8x8x8, sind viel Arbeit sowohl beim Bauen als auch beim Programmieren. Kleine (3x3x3 oder 4x4x4) sind einfach zu bauen, sowohl weil sie keine große Anzahl von LEDs benötigen, als auch weil sie keine externe Hardware wie Schieberegister und High-Side-Treiber benötigen, um den Cube zu verwalten. Aber sie sind wirklich nicht dasselbe wie ein großer Würfel.

Mein Ziel von Anfang an dieses Projekts war es, einen einfach zu bauenden Würfel zu erstellen und dann genug coole Software zu erstellen, um es möglich zu machen, das Gefühl eines großen Würfels zu genießen, ohne all die Plackerei, die erforderlich ist, um einen großen Würfel zu bauen. Dies ist also ein 5x5x5-Würfel, der direkt von einem Arduino Mega ohne Schieberegister einer anderen Hilfshardware als 5 Transistoren mit Strom versorgt werden kann (wird verwendet, um eine ganze Schicht zu ziehen - die Kathoden von 25 LEDs auf Masse). Warum möchte ich Schieberegister vermeiden? Weil sie absolut schrecklich zu handhaben sind. (Ich habe es ausprobiert.) Sie müssen wirklich eine Leiterplatte entwerfen und herstellen, wenn Sie sie verwenden möchten.

Ich habe in der Vergangenheit eine Menge Code für große Würfel geschrieben, also habe ich eine Reihe vorhandener Würfelanimationen angepasst, um auf diesem 5x5x5-Würfel ausgeführt zu werden.

Dies ist eigentlich das erste von drei Projekten dieser Art. Der 2. ist da. Es ist ein 5x5x5 RGB-Würfel, der im Design diesem Würfel sehr ähnlich ist, aber schwieriger zu bauen. Der dritte ist hier - ein 8x8x8 einfarbiger Würfel, wiederum mit minimaler externer Hardware.

HINWEIS:Bevor ich hier weitergehe, bin ich nicht der Erste, der einen 5x5x5-Würfel vorschlägt, der mit einem MEGA betrieben wird. 2017 hat MEGA DAS hier ein ähnliches Projekt veröffentlicht. Die Hardware beider Projekte ist nahezu identisch. Ich hatte das nicht gesehen frühere, bis ich mit dieser Beschreibung begann, also sind meine Pinbelegungen anders und die Widerstand Werte sind anders, aber ansonsten ist die Hardware fast identisch. Ich veröffentliche dies hauptsächlich, weil ich viel Erfahrung mit dem Schreiben von Cube-Software habe. Ich hoffe, meine Software wird einige Leute davon überzeugen, einen Würfel zu bauen, die es sonst nicht tun würden!

Das obige Video ist eine Sinuswellenfunktion, bei der die Amplitude auf der z-Achse liegt und die Zeit als horizontaler Abstand vom Mittelpunkt des Würfels dargestellt wird. Es ist ein großartiger Klassiker auf einem großen Würfel, aber nicht so schlecht auf diesem 5x5x5!

Ich füge noch zwei weitere Videos hinzu. Beide haben dasselbe - 14 Animationen für den 5x5x5-Würfel. Ich bin mir nicht sicher, was besser ist, deshalb habe ich beide aufgenommen. Und falls es nicht offensichtlich ist, Würfel sehen persönlich viel cooler aus als im Video!

HARDWARE

Der Mega hat viele digitale IO-Pins. Wir verwenden 5, um die Kathoden für jede Schicht nach unten zu ziehen, und 25 weitere, um die Anoden für jede der 25 LEDs innerhalb einer Schicht nach oben zu treiben. Bei diesem Ansatz hat der Mega tatsächlich genug IO-Pins, um einen 6x6x6-Würfel zu bauen. Aber die andere Überlegung, wenn wir versuchen, dies einfach zu halten, ist Macht. Die Stromgrenzen des Mega liegen bei 40 mA pro Pin und 200 mA insgesamt an allen Pins. Blaue LEDs haben einen Vorwärtsabfall von etwa 3 Volt, unsere herkömmlichen Kathodentransistoren fallen weitere 0,7 Volt ab. Bei einer 5-Volt-Versorgung und einem 180-Ohm-Widerstand zieht jede LED 7,2 mA. 25 LEDs/Layer ziehen 180 mA, wenn alle gleichzeitig an sind. Wir schalten jeweils nur eine Schicht ein, sodass wir alle aktuellen Beschränkungen von Mega erfüllen, solange wir NPN-Transistoren verwenden, um alle Kathoden in einer Schicht auf Masse zu ziehen. Der Basisstrom zu einem dieser Transistoren fügt der Gesamtlast des Mega weitere 5 mA hinzu, aber wir halten die Summe unter 200 mA. bei etwa 185 m. Aus all den oben genannten Gründen habe ich 180-Ohm-Widerstände gewählt, um sie mit unseren LEDs zu koppeln.

Die obige Tabelle zeigt, wie die digitalen Pins von Mega mit dem Würfel verbunden sind. Pins 22 - 26 sind die 5 Pins, die die Transistoren ansteuern, die die Kathoden der LED mit Masse verbinden. Die Pins 27-51 gehen durch die 180-Ohm-Widerstände zu den Anoden von 25 LEDs in einer Schicht.

Sie fragen sich vielleicht, warum diese Pinbelegung etwas verwirrend aussieht. Meine Software verwendet direkten Portzugriff anstelle von digitalWrites, um die Anoden zu konfigurieren, dh jede der 25 LEDs in einer Schicht entweder ein- oder auszuschalten. Das spart viel Zeit und bedeutet, dass die LEDs länger leuchten, als wenn Sie viel Zeit mit digitalWrites verbringen würden. Daher sind die Pinbelegungen so angeordnet, dass Verweise auf diese digitalen Ports anstelle der tatsächlichen Pinnummern organisiert werden. Mehr zu all dem, wenn wir zur Software kommen.

WÜRFELKONSTRUKTION

Es gibt viele Meinungen darüber, wie man einen Würfel baut, unabhängig von seiner Größe. Die Aufgabe ist mühsam, egal wie Sie vorgehen. Und Sie müssen sowohl Sorgfalt als auch Geduld walten lassen, um ein gutes Ergebnis zu erzielen. Ich werde Ihnen zeigen, wie ich dieses gebaut habe, aber es gibt andere Anweisungen online, wenn Sie es vorziehen.

Der Bau dieses Würfels beginnt mit der Bleiformung und dem Zusammenlöten von LEDs in 5er-Säulen. Dann werden Platten durch Zusammenlöten von 5 Spalten gebildet, und schließlich wird der Würfel durch Zusammenlöten von 5 Platten gebildet. Menschen, die noch nie zuvor einen Würfel gebaut haben, wissen nicht, wie schwierig es ist, einen perfekten Würfel zu bauen. Kleine Fehler in den Steigungswinkeln sammeln sich schnell an und selbst kleine Abstandsunterschiede sind leicht sichtbar. Daher ist der Bleibildungsschritt kritisch. Wenn Sie sich Zeit nehmen und es richtig machen, erhalten Sie keinen perfekten Würfel, aber einen vernünftig aussehenden.

Die Anoden sind die längere Leitung der LED und gehen nach unten, müssen jedoch zur Seite der LED gebogen werden, damit vertikale Reihen von LED-Anoden miteinander verlötet werden können. Der Anodenversatz und das Kathodenkabel müssen 90 Grad zueinander sein, wie auf diesen Fotos gezeigt.

Ich persönlich finde das Bleiformen sowohl mühsam als auch hart für die Hände, also führe ich 25 LEDs und baue dann ein Panel. Sie benötigen eine Art Schablone, um sowohl die Säulen als auch die Platten herzustellen. Ich mache dieses Jigging mit BlueTack, einem wiederverwendbaren Klebstoff. LEDs können in den BlueTack gedrückt werden und bleiben an Ort und Stelle, während die Säulen und Panels gelötet werden. Die Einkerbungen ermöglichen Ihnen, diese Vorgänge mit exakt gleichen Abständen zu wiederholen. Es ist wichtig, beim ersten Mal alles sehr sorgfältig zu messen. Ich habe einen Abstand von 0,6 Zoll zwischen den LEDs in allen drei Richtungen verwendet, sodass mein fertiger Würfel in eine Platine mit einem Standardlochabstand von 0,1 Zoll eingefügt werden kann.

Hinweis zum Zusammenlöten von LEDs :Jeder Albtraum eines Würfelmachers besteht darin, einen Würfel fertig gebaut zu bekommen und dann eine kalte Lötstelle im Inneren des Würfels zu entdecken, an der Sie nicht mehr hinkommen! Achten Sie beim Arbeiten darauf, dass die Lötstellen an jeder LED-Säule, die Sie bauen, gut sind.

Wenn Sie jedes Panel fertig haben, ist es Zeit, es zu testen. Auch dies tun wir, denn es wäre katastrophal, wenn Ihr Würfel fertig ist, eine kalte Lötstelle oder eine defekte LED herauszufinden!

In der Software habe ich eine kleine Skizze eingefügt, die ein Panel testet. Um diesen Test durchzuführen, müssen Sie die 5 vertikalen Anodenkabel an 5 Widerstände (330 Ohm oder ähnlich) und dann diese Widerstände an die Pins 40-44 (die Anodenpins der Spalte 0) anschließen. Verbinden Sie dann die 5 Kathodenstifte mit den Stiften, die normalerweise zum Ansteuern von Kathoden verwendet werden, Stifte 22-26. Ein gutes Panel sieht wie im obigen Video aus. (Nebenbei bemerkt, wir verwenden noch keine Transistoren, um die Kathoden anzusteuern, daher steuert diese kleine Testroutine die Kathoden auf niedrig, um eine LED einzuschalten. Sobald die Transistoren installiert sind, werden wir das Gegenteil tun, dh die Kathoden hoch treiben, um sich einzuschalten an den Transistoren, die dann die Kathoden nach unten ziehen.)

Wenn wir 5 Panels gebaut und getestet haben, können wir den Würfel zusammenbauen, aber zuerst müssen wir die Platine vorbereiten, indem wir alle erforderlichen Widerstände und Transistoren einfügen und anschließen.

Ich platzierte die 180-Ohm-Widerstände direkt neben jeder Anodenspalte und die Kathodentransistoren und ihre Basiswiderstände im Raum zwischen dem Würfel und dem Mega. Auch hier beträgt der Abstand zwischen den Anodensäulen 0,6 Zoll in beide Richtungen, also 5 leere Löcher in der Platine zwischen jedem Loch mit einer Anodensäule.

Jetzt ist ein guter Zeitpunkt, um das Arduino auf das Board zu legen. Es kann auf Abstandshaltern montiert werden, wenn Sie diese haben. Ich habe eigentlich nur ein kleines Stück Plastik und ein wenig Kleber verwendet, um meinen Mega etwa 1/4 Zoll über dem Board zu befestigen.

An dieser Stelle werden jeweils Panels an der Hauptplatine befestigt. Stellen Sie sicher, dass sich jede Anodensäule wirklich im richtigen Loch befindet, bevor Sie löten, da selbst ein Ein-Loch-Fehler in Ihrem fertigen Würfel erkennbar ist. Und achten Sie darauf, dass alle Platten gleich ausgerichtet sind, d.h. alle Kathodenleitungen kommen auf derselben Seite heraus.

Als nächstes müssen wir die Platten in jeder Schicht miteinander verbinden, damit alle Kathoden in einer bestimmten Schicht verbunden sind. Dies wird mit einem begradigten Stück verzinnten Kupferdrahts erreicht, das die fünf Kathodenleitungen in einer Schicht miteinander verbindet.

Als nächstes sind wir bereit, die Kathoden jeder Schicht an die Hauptplatine anzuschließen. Die Kreise im Bild oben zeigen, wo die Kathoden jeder Schicht verbunden und auf den Kollektor eines Transistors gebracht werden. Auch hier verwenden wir ein begradigtes Stück verzinnten Kupferdraht.

Sobald Sie alle Leitungen von den Widerständen zum Mega angeschlossen haben, sind wir endlich bereit, den fertigen Würfel zu testen. In der Software habe ich eine Skizze zum Testen des Würfels bereitgestellt. Es wird jede LED im Würfel der Reihe nach kurz aufleuchten. Da Sie jedes Panel bereits getestet haben, werden alle Probleme, die Sie an dieser Stelle sehen, höchstwahrscheinlich mit den jüngsten Kathodenanschlüssen zusammenhängen. Sie können also feststellen, dass eine Ebene nicht funktioniert oder Teil einer Ebene ist. Auch hier haben Sie höchstwahrscheinlich eine kalte Lötstelle, wenn ein Problem auftritt.

SOFTWARE

Der Status jeder LED im Würfel wird durch ein globales 5x5x5-Byte-Array namens cube[ ][ ][ ] definiert. Eine 1 bedeutet, dass die LED an ist, eine 0, dass sie aus ist. Alle Animationen des Würfels werden also erstellt, indem 1s und 0s in cube[ ][ ][ ] platziert werden.

Das Herzstück jeder Cube-Software ist der zeitgesteuerte Interrupt, der den Cube aktualisiert. Meine Interrupt-Routine wird in setup() eingeleitet und befindet sich dann ganz am Ende des Programms. Es wird alle 10 ms aufgerufen. und dauert etwa 6 ms. um den Würfel zu aktualisieren. Es bleiben 4 ms. zwischen jeder Aktualisierung zur Ausführung von Sachen in der Hauptschleife.

Während des Auffrischens wird jede Schicht für 1,2 ms eingeschaltet. Die Aktualisierung erfolgt 100 Mal pro Sekunde. Jede einzelne eingeschaltete LED leuchtet also 120 ms/Sekunde oder einen Arbeitszyklus von 12 %. Die 100-mal pro Sekunde sind schnell genug, um das menschliche Auge sie als ständig eingeschaltet sehen zu lassen, und der Arbeitszyklus von 12% reicht aus, um die LEDs ziemlich hell leuchten zu lassen, nicht so viel, als ob sie ständig eingeschaltet wären, aber überraschend nah daran .

Um den Refresh-Zyklus so kurz wie möglich zu halten und die Einschaltdauer der LEDs zu maximieren, vermeiden wir Zeitverschwendung von digitalWrite-Befehlen und verwenden direkten Portzugriff zum Konfigurieren der Pins. Wenn Sie sich den Code in der Interrupt-Routine ansehen, sehen Sie 25 separate Zeilen, in denen dieser direkte Port verwendet wird, was nicht sehr schön aussieht, aber tatsächlich viel, viel schneller ist als die wenigen Codezeilen, die es sein könnten verwendet, um die Pins mit digitalWrite zu setzen.

Die loop() ruft einfach jede Animation auf, geht die Liste durch und beginnt dann von vorne. Die Animationen befinden sich jeweils in einem eigenen Unterprogramm. Einige Animationsroutinen rufen andere Routinen auf. Erläuterungen zu den verschiedenen Animationen finden Sie im Code selbst. Es gibt auch einige Dienstprogramme, die von allen Animationen verwendet werden, wie clearCube(), das alle LEDs ausschaltet, oder copyDown(); wodurch der Inhalt jeder Ebene auf die darunter liegende Ebene verschoben und dann die oberste Ebene gelöscht wird.

Es gibt drei verschiedene Skizzen, die Sie herunterladen können. Der Hauptteil enthält die 15 Animationen, die Sie im Video gesehen haben. Die Tafeltest- und Würfeltestskizzen dienen nur zum Testen Ihres Würfels während des Baus.

Code

  • 5x5x5 Cube-Software
5x5x5 Cube-SoftwareArduino
Enthält 3 Skizzen:Panel Test, Cube Test,
und The Show mit allen 15 Animationen
Keine Vorschau (nur Download).

Kundenspezifische Teile und Gehäuse

Völlig optional, aber wenn Sie Zugang zu einem 3D-Drucker haben und die Box möchten, die Sie in meinen Videos sehen, hier ist sie:

Schaltpläne

Ein Schema der Grundlagen Zeigt genaue Verbindungen zwischen Würfel und Mega

Herstellungsprozess

  1. Bügelbrett
  2. Rubiks Würfel
  3. Leiterplatte
  4. Surfbrett
  5. Leuchtdiode (LED)
  6. RaspiRobot Board V2
  7. Einfache Wordclock (Arduino)
  8. Sargtanzmelodie
  9. Smart Touch-Schalterplatine
  10. Arduino mit Bluetooth zur Steuerung einer LED!