Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
computer:basteln:led-matrix [2015/05/31 17:32]
gaubes
computer:basteln:led-matrix [2018/03/16 21:11] (aktuell)
Zeile 1: Zeile 1:
 ===== LED-Matrix ===== ===== LED-Matrix =====
 +Dieser Wikieintrag handelt von den selbstgebauten Matrizen, wie sie beispielsweise in [[computer:​raspberrypi:​projekte:​matrix|diesem Artikel]] beschrieben werden.\\ 
 +Den Eintrag zu den erworbenen Matrizen vom Typ max7219 findet man [[computer:​basteln:​led-matrix-max7219|hier]].
 ==== Laufschrift ==== ==== Laufschrift ====
 In diesem Beispiel, wie man eine Laufschrift auf eine LED-Matrix bekommen kann, bedienen wir uns dem Programm, In diesem Beispiel, wie man eine Laufschrift auf eine LED-Matrix bekommen kann, bedienen wir uns dem Programm,
Zeile 7: Zeile 8:
 Computers auf den Arduino und damit auf die Matrix laden können. Computers auf den Arduino und damit auf die Matrix laden können.
  
-Dieses Beispiel wird öfters auch bei Veranstaltungen,​ die sich um die Naturwissenschaften drehen, oder reine Infoveranstaltungen des öfteren präsentiert. Die zuständige Person kann Fragen, die beim Lesen nicht beantwortet werden klären.+Dieses Beispiel wird öfters auch bei Veranstaltungen,​ die sich um die Naturwissenschaften drehen, oder reine Infoveranstaltungen des öfteren präsentiert. Die zuständige Person kann Fragen, die beim Lesen nicht beantwortet werdenklären.
 === Code-Anpassungen === === Code-Anpassungen ===
  
 Der (je nach Wunsch) anzupassende Code ist: Der (je nach Wunsch) anzupassende Code ist:
-<codecpp>+<code cpp>
 const int zeilenstart=2;​ // Pin ab dem die Zeilen anfangen const int zeilenstart=2;​ // Pin ab dem die Zeilen anfangen
 const int spaltenstart=10;​ // Pin ab dem die Spalten anfangen const int spaltenstart=10;​ // Pin ab dem die Spalten anfangen
Zeile 67: Zeile 68:
 </​code>​ </​code>​
  
-Das Array <codec> int schrift[max_x] </​code>​  +Das Array <code c> int schrift[max_x] </​code>​  
-ist so zu ändern, dass die gewünschten Zahlen (siehe unten) eingetragen werden und letztendlich ​die Einträge  +ist so zu ändern, dass die gewünschten Zahlen (siehe unten) eingetragen werden und die Einträge  
-des Arrays gezählt ​werden ​und <codec> int max_x </​code>​ auf diesen Wert gesetzt ​wird.+des Arrays ​müssen ​gezählt und <code c> int max_x </​code>​ auf diesen ​gezählten ​Wert gesetzt ​werden.
  
 === Codieren des Musters === === Codieren des Musters ===
  
-Der Code ist so geschrieben,​ dass sich die Spalten binär codiert sind. Die Matrix hat Leds verbaut, also +Der Code ist so geschrieben,​ dass die Spalten binär codiert sind. Die Matrix hat 8x8 Leds verbaut, also 
 insgesamt 8 Punkte der Spalte die "​AN"​ oder "​AUS"​ sein können. Von oben nach unten werden diese LEDs gedanklich durchnummeriert von 0 bis 7. insgesamt 8 Punkte der Spalte die "​AN"​ oder "​AUS"​ sein können. Von oben nach unten werden diese LEDs gedanklich durchnummeriert von 0 bis 7.
 Das Muster der Spalte lässt sich dann ausdrücken als <​latex>​$\sum_{n=0 \ und \  n\ leuchtet}^{7}2^n</​latex>​. Das Muster der Spalte lässt sich dann ausdrücken als <​latex>​$\sum_{n=0 \ und \  n\ leuchtet}^{7}2^n</​latex>​.
-In Worten ausgedrückt man Ordnet ​jeder LED die Zahl zu, die sie zur Summe beiträgt. Von oben nach unten ist dies:+ 
 +In Worten ausgedrückt man ordnet ​jeder LED die Zahl zu, die sie zur Summe beiträgt. Von oben nach unten ist dies:
  
 <​latex>​2^0 =1</​latex>​ für die erste LED  <​latex>​2^0 =1</​latex>​ für die erste LED 
Zeile 86: Zeile 88:
 <​latex>​2^7 =128</​latex>​ für die unterste LED  <​latex>​2^7 =128</​latex>​ für die unterste LED 
  
-Wenn man seine Zeile dann fertig hat, so addiert man die Zahlen der LEDs, die leuchten sollen und gibt die Summe für die Spalte in das Array von oben ein.+Wenn man die Spalte ​dann fertig hat, so addiert man die Zahlen der LEDs, die leuchten sollen und gibt die Summe für die Spalte in das Array von oben ein.
  
  
 +Wem das zu kompliziert vorkommt, dem hilft vielleicht folgendes Bild:
 +
 +{{computer:​basteln:​laufschrift_grafik.jpg |}}
 +Beispielsweise wäre <code c>int max_x = 8; </​code>​ und <code c>int schrift[max_x]={
 +    0,​34,​66,​64,​64,​70,​38,​0
 +};</​code>​
 +Jedoch sollte man beachten, dass die Laufschrift (nach obigem Code) sich immer wiederholt. ​
 +Daher kann es passieren, dass das Muster nicht mehr erkennbar wird, da das Ende mit dem Anfang verschmelzen kann.
 +Ein Tipp um das zu umgehen wäre, am Anfang oder am Ende 8 (weil es 8 Spalten sind) Nullen in das Array
 +//schrift// hinzuzufügen und dem entsprechend auch //max_x// zu ändern. Ebenso, könnte man sich in Kommentaren notieren, wie viele Zahlen man bereits eingetragen hat:
 +<code c>
 +...
 +int max_x=16;
 +...
 +int schrift[max_x]={
 +    0,​34,​66,​64,​64,​70,​38,​0 ​  //8
 +    0,​0,​0,​0,​0,​0,​0,​0 ​        //16
 +};
 +...
 +</​code>​
 +
 +So lässt sich schließlich eine beliebige 8x8 Laufschrift auf die LED-Matrix bringen.