RGB-8x8-LED-Matrix

8x8-RGB-LED-Matrix
8x8-RGB-LED-Matrix

05.09.2009

Bisher sind nur die beiden notwendigen Teile bestellt, mehr dazu also zu einem späteren Zeitpunkt...

22.10.2009

Sowohl der Rainbowduino als auch die entsprechende LED-Matrix sind zwischenzeitlich angekommen und haben Ihren ersten Funktionstest überstanden.

Ein erster "Rückschlag" war, dass ich mir die Matrix günstiger billig in China Hongkong Fernost besorgt habe. Damit habe ich zwar nur knapp die Hälfte bezahlt - aber dass widerum ging sowohl auf Kosten der Zeit (die Sendung hat, im Gegensatz zu einigen anderen Bestellungen der letzten Wochen und Monate, fast 6 Wochen benötigt) als auch ein wenig auf Kosten der Qualität: meine Matrix besteht nicht aus den überall zu sehenden runden LEDs, sondern aus quadratischen mit runden Ecken (Bild folgt beizeiten; übrigens war beim Fernosthändler selbstverständlich die Matrix mit runden LEDs dargestellt), ferner ist die gesamte Matrix in sich nicht eben, sondern durchgebogen, so dass auch die Passgenauigkeit im Arduino ein wenig zu wünschen übrig lässt.

Aber sie leuchtet auch. Wenngleich erst im zweiten Versuch, denn mangels rechteckigem Pin wie bei der Original-LED-Matrix bin ich natürlich sofort auf den Steck-die-Matrix-falsch-auf-den-Rainbowduino-Trick reingefallen.

29.10.2009

Gestern habe ich meinen ersten Versuch gestartet, meinein Rainbowduino sinnvoll zu programmieren - und bin kläglich gescheitert. Ziel war es ursprünglich, die mtXcontrol von rngtng zu testen, dem Gewinner des Seedstudio Rainbowduino Carnival Wettbewerbs. Auch tobi, der Programmierer der Gewinnersoftware, hatte wie ich mit dem Umstand zu kämpfen, dass er seinen Rainbowduino mit einem Arduino programmieren musste und hatte das Problem gelöst. Allerdings hat auch er das Problem, dass seine Dokumentationen, sagen wir, zum Teil etwas mager sind. So bekommt man beim Download von mtXcontrol zwar ein ganzes Paket mit einzelnen Softwarestückchen, welches jedoch wo mit welchem Stück verknüft werden muss, bleibt einem weitestgehend selbst überlassen.

Ich versuche, ein wenig Licht ins Dunkle zu bringen für diejenigen, die an den gleichen Stellen haken wie ich:

    1. Der Download

      github_mtXcontrol

      Die Seite github war mir bis dato überhaupt kein Begriff, gewohnt bin ich Sourceforge oder Googlecode. Im unteren Bereich, der mir zunächst besonders ins Auge fiel, waren sämtliche Dateien der Projekts einzeln aufgeführt, ähnlich einem FTP-Verzeichnis. Der einzelne Dateikommentar am Ende jeder Zeile verwirrte mich jedoch nur, ich wusste nicht was ich brauchte und was nicht und was jetzt aktuell war. Durch Zufall habe ich dann den All-in-One-Button oben gefunden: Download. Wie logisch eigentlich. Und so einfach.

    2. Die einzelnen Dateien

      Tobi weist zwar darauf hin, dass man sowohl Processing als auch die Arduino-IDE benötigt, aber... Was genau jetzt wohin muss und was nicht, war, zumindest bei mir, mehr das übliche try-and-error...

      • Sämtliche pde-Dateien und das data-Unterverzeichnis müssen in ein eigenes Projektverzeichnis von Processing. Ohne das Verzeichnis firmware, auch wenn das einfacher wäre.
      • Das Verzeichnis firmware kommt als eigenes Projektverzeichnis in die Arduino-IDE.
      • Das Verzeichnis rainbowduino aus dem firmware-Verzeichnis kommt ins Verzeichnis \hardware\libraries der Arduino-IDE. Das hat Tobi zwar geschrieben, aber das lib-Verzeichnis der IDE fällt einen kleinen Tick eher ins Auge - das hilft nur überhaupt nicht.
    3. Der Upload

      Ich besitze nur einen originalen Arduino. Keinen Seeduino. Kein UART. Und ich scheitere gerne an absurden Sachen. Das fängt bei der Verkabelung an, da reichen schon englische Bezeichnungen, die ich nicht auf meinen Geräten finde.

      Folgende Verbindungen müssen also hergestellt werden:

      Arduino → Rainbowduino

      • tx → tx
      • rx → rx
      • gnd → gnd
      • 5V → vcc
      • Reset → DTR
      Mittentext Please generate and paste your ad code here. If left empty, the ad location will be highlighted on your blog pages with a reminder to enter your code.

      In diesem Fall hat tobi seine Anleitung auch schon einen Tick erweitert, wenngleich die Sache mit der Reset-Leitung  mein kleinsten Problem war.

      Bevor man den Arduino als Bindeglied nutzen kann, muss noch ein leeres Programm (aber nicht ganz so leer wie in meinem ersten Versuch) hochgeladen werden. Warum auch immer.

      /* blank sketch to upload on Arduino */
      void setup()
      {
      }
      
      void loop()
      {
      }
      

      Erst dann lädt man das Firmware-Sketch in die Arduino-IDE, vergisst nicht unter Tools / Board auf "Duemlianove /w ATmega 168" umzustellen - und wird glücklich.

    4. mtX­con­trol

Das Programm wird in Processing gestartet. Welches Programm denn genau? Da sind doch gleich 8 verschiedene pde-Dateien!  Naja, wer nicht wie ich manchmal zu umständlich denkt, der könnte sich vielleicht auf Anhieb mit mtXcontrol anfreunden. Alle anderen, die genauso bekloppt sind wie ich, sollten halt mtXcontrol.pde als erstes testen.

30.10.09

Mit vielem Hin und Her bekam ich meinen Rainbowduino immer noch nicht ans laufen. Es blinkte zwar, manchmal zuckte es, aber es wollte nicht das darstellen, was ich in mtXcontrol "gezeichnet" hatte. Aber was soll ich sagen? Der direkte Emailkontakt mit Tobi hat sehr sehr flott zum richtigen Ergebnis geführt, auch wenn es allem Anschein nach nicht nur mich überrascht hatte:

Die Baudrate, also die Übertragungsrate, liegt standardmäßig bei 14.400 und überfordert den Rainbowduino wohl. Das Heruntersetzen auf 9.600 brachte den ersehnten Erfolg und alles funktionierte! (Seit der aktuellen Version der Software ist diese Einstellung übrigens Standard)

31.10.09

Ein weiteres interessantes Phänomen, dass ich beobachten konnte, ist die unterschiedliche Reaktion des Rainbowduinos auf die Frage, durch welchen Anschluß er seinen Strom bezieht:

Während ich zunächst ja sämtliche Anschlüsse am schwarzen Stecker benutzt habe, bin ich während der Fehlersuche auch einmal dazu übergegangen, den Strom vom Arduino an die Pins des grünen Anschlusses des Rainbowduinos zu klemmen - und plötzlich leuchtet mein Gerät in voller Farbenpracht, ohne dass ich einen externen Stromanschluss benötige.

Mai 2010

Wie ich mittlerweile erfahren habe, ist nach einigen Updates der mtXcontrol meine Beschreibung leider nicht mehr up2date. Da ich mit anderen Projekten (Noch ein Projekt & ArduMoped™) derzeit ausgelastet bin, werde ich mich, wenn überhaupt sinnvoll, erst in einiger Zeit damit beschäftigen können. Sorry.

Fazit

Abschließend möchte ich noch einmal ausdrücklich darauf hinweisen, dass diese Zeilen nicht als Kritik am Autor von mtXControl gemeint sind. Naja, ok, vielleicht ein bißchen. Oder sagen wir eher als Hinweis, dass selbst jemand, der von sich bis dato überzeugt war, grundsätzlich ein wenig Ahnung zu haben, schon von simplen Dingen gebremst werden kann, die für andere absolut selbstverständlich sind.

Außerdem möchte ich hervorheben, dass Tobi auf meinen Kommentar mehr als flott geantwortet hat.  Ich glaube auch, dass alle Informationen, die ich hier zusammengezogen habe, auf seinen Seiten bzw. beim seeedstudio bereits zu finden sind. Allerdings halt nicht an einem Platz, hier ein Bröckchen, da ein Bröckchen. Ja, so ist eben das Internet. Ich mag's halt manchmal etwas kompakter. Und finde mtXControl super!

Gib auch Du Deinen Senf dazu