Fork me on GitHub

8x8x8 LED Wuerfel

Downloade die aktuelle Codebase als Zip.

Youtube Direktlink

Als Schulprojekt und f├╝r den Explore-IT Wettbewerb von SAP in Markdorf haben meine zwei Teamkollegen, Max hutattedonmyarm@me.com und Felix, zusammen mit mir diesen einfarbigen 8x8x8 LED Cube gebaut. F├╝r Interessierte hier alle Software sowie Schaltplan und Boardlayout unter der GPLv3. Viel Freude damit.

Prototyp Cube Platine l├Âten

Hardware

Achtung: Frank hat mir gemailt und erkl├Ąrt, dass das FRAM au├čerhalb der Spezifikation betrieben wird. Es sollte 3,3V statt 5V bekommen. Ich werde vermutlich bald Schaltplan und Layout updaten. Es scheint aber auch so zu funktionieren. Vorsicht!

Ein AtMega32 steuert ├╝ber einen 8bit Bus 8 Latches. Diese 64 bit steuern ├╝ber je einen PNP Transistor die Anoden von jeweils 8 ├╝bereinander liegenden LEDs.

Des weiteren steuert der Prozessor 8 N-Kanal MOSFETs welche die Kathoden von 64 in einer x-z Ebene liegenden LEDs steuern.

Ausserdem kommuniziert der AtMega32 ├╝ber einen FT232RL per USB mit einem PC. ├ťber den TWI (I2C) Bus wird auf ein 1MBit FRAM zugegriffen.

Zus├Ątzlich ist ein AtMega8 auf der Platine. Dieser liest ├╝ber einen MSGEQ7 ein Audiosignal und sendet dieses ├╝ber TWI an den AtMega32.

Eine ausf├╝hrlichere Bauteilliste findet sich im Github Repository, im Ordner Hardware als parts.txt.

Prototyp in Aktion Platine in Aktion

Software

Die Software besteht aus 3 gro├čen Teilen, die CubeFirmware f├╝r den AtMega32, die AudioFirmware f├╝r den AtMega8 und CubeControl. Letzteres ist eine Plattformunabh├Ąngige Java Software, welche es erlaubt, Animationen f├╝r den LED Cube zu erstellen und diese an den Cube zu ├╝bertragen. Hierf├╝r wird Java3D ben├Âtigt.

Cube Firmware

Die Hauptaufgabe der CubeFirmware ist es, Animationen aus dem FRAM zu laden und anzuzeigen. Nebenbei wird auf Anfragen per USB gewartet und entsprechend gehandelt. Auf Knopfdruck steuert die CubeFirmware den AtMega8 an, um Audio Daten zu visualisieren.

K├╝hlk├Ârper Spannungsregler K├╝hlk├Ârper Spannungsregler

Audio Firmware

Die AudioFirmware liest den MSGEQ7 aus, um bei entsprechender Anfrage ├╝ber TWI diese Daten zu ├╝bertragen.

CubeControl

Neben einigen Java Klassen um einen 3D LED W├╝rfel darzustellen und mit diesem zu interagieren, besteht CubeControl auch aus einer Java Native Interface (JNI) Library, welche sowohl unter Windows als auch unter Unix die serielle Kommunikation f├╝r CubeControl erm├Âglicht. F├╝r die 3D Darstellung wird Java3D ben├Âtigt. In der OS X Lion Variante von Java ist dies bereits enthalten, f├╝r Windows und Linux muss es separat heruntergeladen werden.

Screenshot Schaltplan

Hardware Emulator

Ein kleines Projekt, welches unter Unix ein Pseudo Terminal ├Âffnet und die Cube Hardware emuliert. Kann zum testen von CubeControl genutzt werden.

UploadTest

Ein kleines CLI Tool um Testdaten und mit CubeControl gespeicherte Animationen an den Cube zu senden.

Download

Im GitHub Repository findet sich der gesamte Code sowie die Eagle Dateien und Schaltplan und Layout als PNGs.

Platine Fertiger Cube

Frank hat den Cube nachgebaut, den Code etwas verbessert und dieses Slow-Motion Video gemacht. Man kann sehr sch├Ân das Multiplexing verfolgen:

Youtube Direktlink

Andrej hat den W├╝rfel nachgebaut und eine R├Ântgenaufnahme der Platine angefertigt, da sein Arbeitgeber das Eledus - SCIOX X-Ray inspection device produziert. Vielen Dank daf├╝r!

X-Ray photo
AVR LED Cube with Java Software and Music Visualization
Analytics