Das Maroon Shield für einen Mikrocontroller nutzen

Beschreibung
Das Maroon Shield ist eine 8×8 LED Matrix für die Ausgabe von Zeichen und  Symbolen. Texte und Symbole werden als Fliesstext dargestellt und laufen somit durch die LED Matrix hindurch. Es gibt noch zwei Tasten auf dem Shield. Eine davon heißt ‚FN‘, die andere ‚ENTER‘. Das Shield wird über die USART Schnittstelle angesteuert: die Übertragungsrate beträgt 38400 bit je Sekunde. Die Version der Firmware auf dem Shield ist die Version 1.1.

Aufbau
Als Bausatz geliefert, muss man erst einmal einen Lötkolben in die Hand nehmen und das ganze Shield zusammenlöten. Danach folgt die Sichtkontrolle auf mögliche Lötbrücken = Kurzschlüsse und saubere Lötstellen. Ganz Vorsichtige Messen zwischen +5V und GND Anschluss auf Kurzschluss.
Auf die dreifach Steckleiste wird der Jumper aufgesteckt: der Pin an der Ecke bleibt frei, damit ist die Reset Leitung durchgeschaltet. Einfacher Test: Die Reset Taste am Arduino drücken und das Maroon Shield meldet sich mit „Hi“ zurück.
Zum Testen der Funktionsfähigkeit einfach auf das Board aufstecken. Auf dem Stromlaufplan kann man erkennen welche Pins das sind. Dann eine oder beide der Tasten drücken und den Strom einschalten, oder die Reset Taste am Arduino drücken. Je nach Taste werden verschiedene Zeichen und Symbole angezeigt. Dabei kann man auch sehen ob überhaupt etwas zu sehen ist und alle LED tatsächlich auch angesteuert werden. Wenn das der Fall ist, war der Aufbau korrekt und somit fehlerfrei. Wenn nicht: fröhliche Fehlersuche!

Die Tasten
Werden die Tasten gedrückt, schickt das Shield ein Zeichen zum Arduino / Genuino Board zurück. Wer mag, kann sich das im Sourcecode der Firmware selber ansehen (s. unten).
Folgende Zeichen werden gesendet:
A – FN gedrückt
a – FN losgelassen
B – ENTER gedrückt
b – ENTER losgelassen

Das Kommunikationsprotokoll
Es werden Escape Sequenzen benutzt. Um das Zeichen ‚Escape‘ = 27 dezimal im Text zu übertragen gibt es die Möglichkeit das als Oktalcode \33 im String einzutragen.

Die Software
Nach dem Herunterladen auf das Maroon Shield sieht man manchmal endlose ‚wilde‘ Zeichenfolgen auf der Matrix. Hier hilft ein Reset am Arduino. Die zwei Leerzeichen am Ende der Strings lassen den Text aus der LED Matrix herausscrollen. Ein Programm, das auf das Drücken der Tasten reagiert, sieht dann folgendermassen aus:

Der Sketch

int inByte = 0;
bool keyApressed = false;
bool keyBpressed = false;
bool keyAreleased = true;
bool keyBreleased = true;
bool bothkeyspressed = false;

void setup()
{
Serial.begin(38400);
}

void loop()
{
if (Serial.available() > 0) // Wenn etwas empfangen wurde …
{
inByte = Serial.read(); // Zeichen einlesen
switch(inByte)
{
case ‚A‘ : // Taste FN gedrückt
keyApressed = true;
keyAreleased = false;
break;
case ‚a‘ : // Taste FN losgelassen
if (bothkeyspressed == false)
{
Serial.print(„Taste FN gedrückt \33c“);
}
keyApressed = false;
keyAreleased = true;
break;
case ‚B‘ : // Taste ENTER gedrückt
keyBpressed = true;
keyBreleased = false;
break;
case ‚b‘ : // Taste ENTER losgelassen
if (bothkeyspressed == false)
{
Serial.print(„Taste ENTER gedrückt \33c“);
}
keyBpressed = false;
keyBreleased = true;
break;
default:
break;
}
inByte = 0;
if ((keyApressed == true) && (keyBpressed == true))
{
Serial.print(„Beide Tasten gedrückt \33c“);
bothkeyspressed = true;
}
if ((keyAreleased == true) && (keyBreleased == true))
{
bothkeyspressed = false;
}
}
}

Links

Maroon Shield – Aufbauanleitung
http://download.nicai-systems.com/nibo/Anleitung_maroon_Shield.pdf

Maroon Shield – Stromlaufplan
http://download.nicai-systems.com/nibo/maroon_shield_1_03_schematic.pdf

Maroon Shield – Kommunikationsprotokoll
http://www.nibo-roboter.de/wiki/Maroon_Shield/Protokoll

Maroon Shield Firmware
https://sourceforge.net/p/maroon-shield/code/HEAD/tree/trunk/ -> Download Snapshot

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.