LBotics.at

Bevor Zahlen auf dem Display ausgegeben werden können, müssen diese in Zeichen konvertiert werden. In diesem Beispiel wird der Wert der Variable Zaehler jede Sekunde um eins erhöht und diese Zahl dann am Display angezeigt.

Programmierbeispiel Ausgabe von Zahlen
#include <Adafruit_RGBLCDShield.h>
#include <Adafruit_MotorShield.h>

Adafruit_RGBLCDShield LcdShield = Adafruit_RGBLCDShield();

int Zaehler;
char Zeile[16];

void setup()
{
LcdShield.begin(16, 2);
LcdShield.clear();
Zaehler = 0;
}

void loop()
{
sprintf(Zeile,"Wert: %3u",Zaehler);
LcdShield.setCursor(0,0);
LcdShield.print(Zeile);
Zaehler++;
delay(1000);
}
Erklärungen zu diesem Programmierbeispiel

1: #include <Adafruit_MotorShield.h>
2: #include <Adafruit_RGBLCDShield.h>

Einbinden der benötigten Header-Dateien.

4: Adafruit_RGBLCDShield LcdShield = Adafruit_RGBLCDShield();

Hier wird das Objekt LcdShield vom Typ Adafruit_RGBLCDShield erzeugt.

6: int Zaehler;

Definition der Variable Zaehler vom Typ Integer.

7: char Zeile[16];

Definition eines Arrays vom Typ Char mit der Länge von 16 Zeichen.

11: LcdShield.begin(16, 2);

Initialisieren des Objekts LcdShield.

12: LcdShield.clear();

Löschen des Displays.

13: Zaehler = 0;

Setzen des Startwerts der Variable Zaehler.

18: sprintf(Zeile,"Wert: %3u",Zaehler);

Der String „Wert: %3u“ wird in das Array Zeile kopiert. An der Stelle des Platzhalters %3u wird der Wert der Variable Zaehler in drei Textzeichen konvertiert.

19: LcdShield.setCursor(0,0);

Setzen des Cursors an die Position Spalte 0 und Zeile 0.

20: LcdShield.print(Zeile);

Anzeigen der Zeichen des Arrays Zeile an der aktuellen Cursorposition.

21: Zaehler++;

Erhöhen des Werts der Variable Zaehler um eins.

22: delay(1000);

Der Programmablauf wird für 1000 Millisekunden unterbrochen.