Led Matrix: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Benko (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(21 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Bild:Matrix_frontside.jpeg|thumb| | === WTF? === | ||
[[Bild:Matrix_backside.jpeg|thumb| | |||
For the LED Matrix we | [[Bild:Matrix_frontside.jpeg|thumb|200px|hypnomatrix is hypnotizing]] | ||
[[Bild:Matrix_backside.jpeg|thumb|200px|all hail to the hypnomatrix]] | |||
For the LED Matrix we wanted to build on the [[CCCamp2007]] we decided to design a GNU LEDMatrix Controller/Driver setup. It consists of two parts the FPGA board and a several driver electronics boards. Now almost one year later we're finally done! | |||
''see also:'' [http://www.flickr.com/photos/1000points/2509802438/ metalab led matrix - demo "die ewigkeit schmerzt"](Video) | |||
== Animations == | |||
Two Animations for the linuxwochen: [[Bild:Metalabanim.zip]] | |||
<div> | |||
<div style='float:left'>{{#ev:youtube|pHdAvMrkO0U}}</div> | |||
</div> | |||
<div style='clear:both'></div> | |||
== Status == | == Status == | ||
Everything is soldered and it works. We | Everything is soldered and it works. We can stream videos via the parallel interface of the via board to the matrix with 72fps :) | ||
* main svn: https://whatever.metalab.at/projects/FPGAMatrix/ | |||
* cliffords mplayer patch: http://svn.clifford.at/handicraft/2008/metaleds/ | |||
== Usage examples == | |||
clifford/mplayer/mplayer-bin -vo metaleds:/dev/lp0 -framedrop -vf scale -zoom -x 72 -y 48 test.avi | |||
netcat -l -p 7000 > /dev/lp0 | |||
Format is: 72x48 bytes of pixeldata (ranging from 0x00 to 0x0F) followed by a single 0x80 (to flip framebuffers) | |||
== Real-time access == | |||
=== Raw protocol === | |||
72x48 = 3456 octets of pixel data followed by a terminating 0x80 octet. | |||
Each pixel data octet represents one pixel's brightness, ranging from 0 (0x00, off) to 15 (0x0F, brightest). | |||
The pixels start at the upper left corner and are numbered in [http://en.wikipedia.org/wiki/Row-major_order row-major order] (see the diagram below). | |||
All output is double-buffered on the fpga, so you have to send a 0x80 after the pixel data to flip the frame buffers. | |||
<pre> | |||
________________________ | |||
| 1 2 3 ... 72| | |||
|73 50 ... 144| | |||
|. | | |||
|. | | |||
|... 3456| | |||
|________________________| | |||
</pre> | |||
=== Using with C/C++ === | |||
You can use the metalib library from here; it comes with a couple of demos: | |||
https://whatever.metalab.at/projects/FPGAMatrix/client/ | |||
=== Using with Python === | |||
You can use functions like getpixel, setpixel, submit with the python classes in https://whatever.metalab.at/projects/FPGAMatrix/python/ | |||
It supports the (now encouraged) way of using TCP. A example (Game of Life) is available. | |||
== Specs == | == Specs == | ||
Zeile 21: | Zeile 79: | ||
* 74HC595 shifting registers | * 74HC595 shifting registers | ||
== New MiniITX Board == | == New MiniITX Board == | ||
VIA EPIA- | VIA EPIA-M 1000G | ||
1 Ghz | |||
1 Gig RAM | |||
MPEG2 Decoderchipset | |||
[[Kategorie:WhateverLab]] | [[Kategorie:WhateverLab]] | ||
[[Kategorie:Projekte]] | [[Kategorie:Projekte]] | ||