Add some documentation.

This commit is contained in:
Aaron Mueller 2014-08-11 00:06:07 +02:00
parent 2fad4a8b13
commit a93428e4e0

View file

@ -1,6 +1,59 @@
# Mini LED Cube
A 3x3x3 LED Cube, originally based on [Paul Wilhelms project][2] with USB and a
lot of new features. An AVR (attiny2313 or attiny4313) with [V-USB][3] (software
USB stack) controls a matrix of 3x3x3 LEDs which forms a 3D cube of LEDs. Every
LED in this cube can be controlled independently over a simple
protocol. Various tools (commandline-tool, 3D OpenGL editor) can be used the
create animation sequences or use the cube as a [XFD][4].
![pcb](/doc/miniledcube-smd.png?raw=true)
This is the source code for the [Mini LED Cube (smd) project][1] as it is going to
be implemented during a workshop series.
## Building
The project has two parts: The LED Cube and the controller PCB. Both parts can
be build completely separate.
* The Cube is a little bit tricky to solder. To see which wire should be bend
and solder in which direction, use the [3D STL model][12] for reference. To
see more detail, install [OpenSCAD][13] and load the [threedvis.scad][14] file.
* For the PCB there is a [detailed instruction plan][11] available. The
instructions include soldering the parts, testing, flashing the firmware and
setting the fuse bits.
## Tools
* The [client lib][5] is a simple interface for other software
implementations. Have a look at the [demo.c][6] file how to include the lib
into your own project.
* A commandline client [clcc][9] can be used to control the cube interactively
over the commandline. Various commands can be send to the cube, see
[the sourcecode][10] for explanation.
* The [3D OpenGL Editor][7] is using the client lib mentioned above. The editor
shows a 3D representation of the LED cube and can be moved with the cursor
keys. All virtual LEDs can be clicked wit hthe mouse to toggle it on or off.
* To use the cube as a XFD (number of mails in INBOX, finished tickets today,
incomming phone call, number of missed chat messages in an IRC channel, ...)
you can use the [frame2cube.pl][8] script to send a complete frame to the cube.
[1]:http://www.cthn.de/projects/LEDCube
[2]:http://mosfetkiller.de/?s=miniledcube
[3]:http://www.obdev.at/products/vusb/index.html
[4]:https://www.google.de/search?q=extreme+feedback+device
[5]:https://github.com/CTHN/Mini-LED-Cube/tree/master/client
[6]:https://github.com/CTHN/Mini-LED-Cube/blob/master/client/demo.c
[7]:https://github.com/CTHN/Mini-LED-Cube/tree/master/editor
[8]:https://github.com/CTHN/Mini-LED-Cube/blob/master/tools/frame2cube.pl
[9]:https://github.com/CTHN/Mini-LED-Cube/blob/master/client/clcc.c
[10]:https://github.com/CTHN/Mini-LED-Cube/blob/master/client/clcc.c#L34-L44
[11]:https://github.com/CTHN/Mini-LED-Cube/blob/master/doc/aufbauanleitung.txt
[12]:https://github.com/CTHN/Mini-LED-Cube/blob/master/doc/threedvis/threedvis.stl
[13]:http://www.openscad.org/
[14]:https://github.com/CTHN/Mini-LED-Cube/blob/master/doc/threedvis/threedvis.scad