Blinkofant: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(→‎Software: Schnellschusspinbelegung)
 
(23 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== WTF ==
+
{| width="100%"
 +
|
 +
== WTF? ==
  
Recently we got this HUGE led walls.
+
Recently we got [[Blinkofant/LED-Display History|these *huge* LED walls]].
  
we disassmbled the monster and now we got ~300 led modules
+
We disassmbled the monster and now we got ~300 LED panels
  
each 8*9 pixels each pixel consisting of 5 leds = 360 red leds / panel
+
Each of the 8*9 pixels consists of 5 LEDs = 360 red LEDs per panel<br />
times  ~300 panels equals 90.000 leds++ :)
+
300 panels equals 100.000++ LEDs :)<br/>
we dont know how tp power them yet :)
+
<br/>
 +
1 panel full on needs 1.15 AMP @12V
  
[[Bild:ledmatrix_doku_open.png|thumb|400px|right| 1 modul]]
+
<strike>we don't know how to power them yet :)</strike><br/>
[[Bild:ledmatrix_chained.png|thumb|400px|right| 4 module chained]]
+
<strike> we are probably going to use the trafo we got out of the old displays.<br/>needs drehstrom outputs 140 AMP 12V weights 40kg+</strike><br/>
 +
actually we might use a lot of ATX powersupplies<br/>
 +
 
 +
 
 +
There is a mailinglist for the blinkofant project see: blinkofant@lists.metalab.at
  
== Doku der pins ==
+
== Pinout ==
  
 
* POUT EQU CENTRO ;the leftmost module will be connected to the POUT-port
 
* POUT EQU CENTRO ;the leftmost module will be connected to the POUT-port
 
* ATTENTION! The bit positions must not be changed!
 
* ATTENTION! The bit positions must not be changed!
* 8V, 5V, 12V, GND sind auf unseren boards NICHT bestückt mit pins.
+
* 8V, 5V, 12V, GND are not equipped with pins
  
  
{|+ border=1
+
{| border="1" cellspacing="0" cellpadding="8" width="" style="border-collapse:collapse;"
| pin number
+
|+
| function
+
| '''pin&nbsp;#'''
 +
| '''function'''
 +
| '''comments'''
 
|-
 
|-
 
| 1
 
| 1
| data/clock ? comes back out here (rückleitung schebereigster)
+
| data/clock ? comes back out here (Rückleitung Schieberegister)
 +
| wurscht
 
|-
 
|-
 
| 2
 
| 2
| data/clock ? comes back out here (rückleitung schebereigster)
+
| data/clock ? comes back out here (Rückleitung Schieberegister)
 +
| wurscht
 
|-
 
|-
 
| 3
 
| 3
 
| DatLoad EQU 0 ;data bit for loading data and control data
 
| DatLoad EQU 0 ;data bit for loading data and control data
 +
| wurscht
 
|-
 
|-
 
| 4
 
| 4
 
| ClkRing EQU 1 ;clock for shift left the whole line
 
| ClkRing EQU 1 ;clock for shift left the whole line
| CLOCK
+
| CLOCK !!
 
|-
 
|-
 
| 5
 
| 5
 
| ClkLoad EQU 2 ;clock for shift left & loading all selected modules
 
| ClkLoad EQU 2 ;clock for shift left & loading all selected modules
|  
+
| wurscht
 
|-
 
|-
 
| 6
 
| 6
 
| ClkBlink EQU 3 ;clock for blinking (0...off, 1...on)
 
| ClkBlink EQU 3 ;clock for blinking (0...off, 1...on)
| selektrierte spalte blinken
+
| clock for blinking of selected rows
 
|-
 
|-
 
| 7
 
| 7
 
| ClkSteu EQU 4 ;clock for shift left & load control data from DatLoad
 
| ClkSteu EQU 4 ;clock for shift left & load control data from DatLoad
| DATA!
+
| wurscht
 
|-
 
|-
 
| 8
 
| 8
 
| DatRing EQU 5 ;data bit for loading data during ClkRing
 
| DatRing EQU 5 ;data bit for loading data during ClkRing
| wurscht
+
| DATA !!
 
|-
 
|-
 
| 9
 
| 9
Zeile 58: Zeile 70:
 
| 10
 
| 10
 
| OnOff  EQU 7 ;turn on/off the whole display (0...off, 1...on)
 
| OnOff  EQU 7 ;turn on/off the whole display (0...off, 1...on)
| turns off ALL the leds when pulled to ground
+
| turns off ALL the LEDs when pulled to ground
 
|-
 
|-
 
|}
 
|}
 +
 +
 +
On the last Panel of a row the following pins need to be connected on the output side:
 +
 +
pin 1 -> pin 8<br />
 +
pin 2 -> pin 3
 +
 +
== Software ==
 +
 +
Aktuelle Testfirmware für den Arduino liegt im GIT von 5uper.net ( git clone git@5uper.net:ledmatrix.git )
 +
Ein clone des git-repos ist auf [https://github.com/parasew/blinkofanten github/parasew]
 +
 +
Es gibt auch eine [http://pastebin.com/7GS76STv für avr-gcc angepasste Version].
 +
Schnellshusspinbelegung ala enterhaken:
 +
<pre>
 +
    | arduino | panel |
 +
    |---------+-------|
 +
    |    gnd |  gnd |
 +
    |      13 |    4 |
 +
    |      11 |    8 |
 +
    |      10 |    10 |
 +
    |---------+-------|
 +
</pre>
 +
this is the magic:
 +
 
 +
SPI.begin();
 +
SPI.setBitOrder(LSBFIRST);
 +
SPI.setDataMode(SPI_MODE0);
 +
SPI.setClockDivider(SPI_CLOCK_DIV128); // biggest divider there is.
 +
...
 +
SPDR = panelData[i];
 +
while(!(SPSR & (1<<SPIF)));
 +
 +
<pre>
 +
ein panel besteht aus 8*9 pixel (8 spalten mal 9 pixel)
 +
man schiebt 10 bits an daten rein für jede der 8 spalten
 +
9 bits an/aus pro pixel + 1 bit ob diese spalte blinkt
 +
wenn man das blinkybit gesetzt hat kann man auf pin6 eine
 +
clock anlegen die die blinkenrate vorgibt
 +
</pre>
 +
 +
 +
 +
 +
=== Borards ===
 +
* ATTINY2313 .. das wird teuer
 +
* Logic IC für puffer und RX  ? welche?
 +
* 2x mod8 buchse (rj45) ?!  das wird auch teuer..
 +
* kondensatoren
 +
* eventuell stecker für kabelverbinder zum led modul
 +
 +
 +
 +
 +
|valign="top"|
 +
<center>[[Datei:Albert-Schultz-Eishalle-by-kerky_oe.jpg|center|framed|<small>[[Blinkofant/LED-Display History|Albert Schultz ice arena LED wall]] &nbsp;&copy; [http://www.flickr.com/photos/kerky_oe/5313588854/sizes/n/in/photostream/ kerky_oe]</small>]] </center>
 +
 +
[[Bild:ledmatrix_doku_open.png|thumb|400px|right| 1 modul]]
 +
 +
[[Bild:ledmatrix_chained.png|thumb|400px|right| 4 module chained]]
 +
|}
 +
 +
[[Kategorie:English]]
 +
[[Kategorie:Hauptraum]]
 +
[[Kategorie:Projekte]]

Aktuelle Version vom 13. August 2013, 18:44 Uhr

WTF?

Recently we got these *huge* LED walls.

We disassmbled the monster and now we got ~300 LED panels

Each of the 8*9 pixels consists of 5 LEDs = 360 red LEDs per panel
300 panels equals 100.000++ LEDs :)

1 panel full on needs 1.15 AMP @12V

we don't know how to power them yet :)
we are probably going to use the trafo we got out of the old displays.
needs drehstrom outputs 140 AMP 12V weights 40kg+

actually we might use a lot of ATX powersupplies


There is a mailinglist for the blinkofant project see: blinkofant@lists.metalab.at

Pinout

  • POUT EQU CENTRO ;the leftmost module will be connected to the POUT-port
  • ATTENTION! The bit positions must not be changed!
  • 8V, 5V, 12V, GND are not equipped with pins


pin # function comments
1 data/clock ? comes back out here (Rückleitung Schieberegister) wurscht
2 data/clock ? comes back out here (Rückleitung Schieberegister) wurscht
3 DatLoad EQU 0 ;data bit for loading data and control data wurscht
4 ClkRing EQU 1 ;clock for shift left the whole line CLOCK !!
5 ClkLoad EQU 2 ;clock for shift left & loading all selected modules wurscht
6 ClkBlink EQU 3 ;clock for blinking (0...off, 1...on) clock for blinking of selected rows
7 ClkSteu EQU 4 ;clock for shift left & load control data from DatLoad wurscht
8 DatRing EQU 5 ;data bit for loading data during ClkRing DATA !!
9 Reset EQU 6 ;clear all control data wurscht
10 OnOff EQU 7 ;turn on/off the whole display (0...off, 1...on) turns off ALL the LEDs when pulled to ground


On the last Panel of a row the following pins need to be connected on the output side:

pin 1 -> pin 8
pin 2 -> pin 3

Software

Aktuelle Testfirmware für den Arduino liegt im GIT von 5uper.net ( git clone git@5uper.net:ledmatrix.git ) Ein clone des git-repos ist auf github/parasew

Es gibt auch eine für avr-gcc angepasste Version. Schnellshusspinbelegung ala enterhaken:

    | arduino | panel |
    |---------+-------|
    |     gnd |   gnd |
    |      13 |     4 |
    |      11 |     8 |
    |      10 |    10 |
    |---------+-------|

this is the magic:

SPI.begin();
SPI.setBitOrder(LSBFIRST);
SPI.setDataMode(SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV128); // biggest divider there is.
...
SPDR = panelData[i];
while(!(SPSR & (1<<SPIF)));
ein panel besteht aus 8*9 pixel (8 spalten mal 9 pixel)
man schiebt 10 bits an daten rein für jede der 8 spalten
9 bits an/aus pro pixel + 1 bit ob diese spalte blinkt
wenn man das blinkybit gesetzt hat kann man auf pin6 eine
clock anlegen die die blinkenrate vorgibt



Borards

  • ATTINY2313 .. das wird teuer
  • Logic IC für puffer und RX ? welche?
  • 2x mod8 buchse (rj45) ?! das wird auch teuer..
  • kondensatoren
  • eventuell stecker für kabelverbinder zum led modul



1 modul
4 module chained