7x7 Matrix mit Shield (Arduino)

(Hoelzerne Umrahmung ist in Arbeit)

Zutaten:

  • 49 x LEDs (SLK 5mm GN)
  • 01 x ULN 2803A
  • 01 x UDN 2981
  • 07 x 12 Ohm Widerstaende
  • 01 x grossen Pappkarton
  • 01 x Buchse fuer 5V input
  • 01 x 5V-(Moodlamp-)Netzteil (⇒ Bild 01)
  • 01 x Arduino Duemillanove/Diecemilla (⇒ Bild 02)
  • blauer und roter Stift
  • Nadel (aus Muttis Naehkasten)
  • rote und schwarze Draehte
  • Faehdeldraht
  • Loetapparatur Bild 01 Bild 02 ===== Die Matrix: =====

- Zuert nimmt man den (möglichst dicken) Pappkarton und zeichnet sich auf wohin die LEDs sollen, wobei es sich empfiehlt sie in einem 90° zueinander stehendem Grid anzuordnen. Nun zeichnet man sich mit blauem Stift die loecher fuer die Kathoden, mit rotem die fuer die Anoden der LEDs wie folgt auf:

+---+---+---+---+---+---+---+
|. *|. *|. *|. *|. *|. *|. *|     Die Punkte ( . ) stehen
+---+---+---+---+---+---+---+     hier fuer die roten 
|. *|. *|. *|. *|. *|. *|. *|     Anoden.
+---+---+---+---+---+---+---+
|. *|. *|. *|. *|. *|. *|. *|
+---+---+---+---+---+---+---+     Die Sternchen ( * ) stehen
|. *|. *|. *|. *|. *|. *|. *|     fuer die blauen Kathoden.
+---+---+---+---+---+---+---+
|. *|. *|. *|. *|. *|. *|. *|
+---+---+---+---+---+---+---+     Die anordnung im 45° Winkel
|. *|. *|. *|. *|. *|. *|. *|     zum Grid ist sehr hilfreich,
+---+---+---+---+---+---+---+     wenn man das ganze spaeter
|. *|. *|. *|. *|. *|. *|. *|     zusammenloetet.
+---+---+---+---+---+---+---+
  1. Nun, nachdem man mit dem Aufzeichnen zufrieden ist, nimmt man sich die Naehnadel zur Hand und sticht durch alle roten und blauen Punkte durch die Pappe durch. Nachdem gepiekse nur noch die LEDs richtigrum reinstecken (Anode zu Anode, Kathode zu nunja… Kathode).
  2. Jetzt gehts los mit Loeten! Man nehme sich den schwarzen Draht zur Hand und verbindet alle Anoden einer Reihe miteinander (was fuer die anderen Reihen auch getan werden muss). Anodenenden abzwicken!
  3. Nun sollte man wie im ⇒Bild 04 zu sehen einen duennen Karton ueber diese Schicht legen (also fuer die Kathoden loecher Stechen).Bild 04
  4. Danach werden alle Kathoden in Spalten miteinander verbunden. Enden wieder abzwicken!
  5. Jetzt nur noch, wie in ⇒Bild 05 alle Draehte mit der Buchse verbinden. Zu guter letzt noch Heisskleber zur Zugentlastung um die Kabel kleben. Die 7×7 Matrix sollte zu diesem Zeitpunkt aehnlich wie die im ⇒ Bild 03 zu sehen ausschaun.Bild 05 Bild 03

Das Shield:

Bild 06 Bild 07 Bild 08

  1. Die Pinleiste AREF bis 0 wie in ⇒Bild 06 zu sehen auf die Platine stecken und festloeten, das gleiche auch bei der Pinleiste Reset bis Analog IN 5. dabei ist zu beachten, dass ein Pin in der mitte jeweils ausgelassen wird ⇒ Arduino-Designfehler.
  2. Als naechstes die 2-reihige Pinleiste fuer die Matrix wie die anderen Leisten aufloeten.
  3. Die beiden Transistorarrays aufloeten. Unbedingt richtigrum aufstecken und Bauteile nicht vertauschen! Dort wo im ⇒Bild 06 die Pfeile hinzeigen sind die kleinen Kerben auf den Arrays.
  4. Pins 0 bis 13 wie im ⇒Bild 07 / ⇒Bild 08 mit Faehdeldraht zusammenloeten.
  5. Den UDN 2981 mit den 12 Ohm Widerstaenden wie im ⇒Bild 06 / ⇒Bild 07/ ⇒Bild 08 mit dem 2-reihigen stecker verbinden. Drahtenden abzwicken!
  6. Den ULN2803A mit Faehdeldraht wie im ⇒Bild 06 / ⇒Bild 07 / ⇒Bild 08 mit dem 2-reihigen stecker verbinden.
  7. 2 Loecher fuer die 5V-Buchse bohren und sie festloeten.
  8. Vin Arduino, Vin ULN2803A und Vin UDN 2981 mit dem Kern der 5V-Buchse verloeten. Dazu dicken Draht wie in ⇒Bild 07 / ⇒Bild 08 verwenden.
  9. GND Arduino, GND ULN, GND UDN mit der huelle der 5V-Buechse vebinden, wobei ebenfalls dickerer Draht verwendet werden sollte.

ET VOILA, unser Shield und die Matrix sind fertig!

Testing:

  • Einfach folgenden Code auf den Arduino laden.
  • USB-Verbindungskabel trennen.
  • Shield auf den Arduino draufstecken.
  • Shield mit der Matrix verbinden (auf richtige polung achten).
  • Strom an die richtige Buchse (die auf dem Shield) anschliessen.
    void setup()   {                
      for (int i=0; i<=13; i++)
      {
        digitalWrite(i, LOW);
        pinMode(i, OUTPUT);
      }
    }
    
    void loop()
    {
      for (int r = 7; r<=13; r++)
      {
        digitalWrite(r, HIGH);
        for (int i = 0; i<=6; i++)
        {
          digitalWrite(i, HIGH);
          delay(200);
          digitalWrite(i, LOW);
        }
        digitalWrite(r,LOW);
      }
    }

Viel Spass beim Spielen und Programmieren auf der Matrix!


Vielen Dank an andi, der mir durchgehend bei der Umsetzung geholfen hat.

 
arduino7x7matrix.txt · Last modified: 2009/12/12 22:49 by flop