Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
computer:basteln:led-matrix [2015/05/31 17:14]
gaubes angelegt
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.
 === 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 66: 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 === 
 + 
 +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. 
 +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: 
 + 
 +<​latex>​2^0 =1</​latex>​ für die erste LED  
 + 
 +<​latex>​2^1 =2</​latex>​ für die zweite LED  
 + 
 +... 
 + 
 +<​latex>​2^7 =128</​latex>​ für die unterste LED  
 + 
 +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.