LBotics.at

Auch das Auslesen der Zustände der fünf Taster auf dem Display Shield erfolgt über das Objekt aus der Adafruit-LCD-Shield-Library.

Programmierbeispiel

In diesem Beispiel wird der Zustand der Taster vom Display Shield ausgelesen und anschließend am Display angezeigt.

#include <Adafruit_RGBLCDShield.h>
#include <Adafruit_MotorShield.h>

Adafruit_RGBLCDShield LcdShield = Adafruit_RGBLCDShield();

void setup()
{
LcdShield.begin(16, 2);
}

void loop()
{
uint8_t Taster = LcdShield.readButtons();

if (Taster)
{
LcdShield.clear();
LcdShield.setCursor(0,0);
if (Taster & BUTTON_UP)
{
LcdShield.print("UP ");
}
if (Taster & BUTTON_DOWN)
{
LcdShield.print("DOWN ");
}
if (Taster & BUTTON_LEFT)
{
LcdShield.print("LEFT ");
}
if (Taster & BUTTON_RIGHT)
{
LcdShield.print("RIGHT ");
}
if (Taster & BUTTON_SELECT)
{
LcdShield.print("SELECT ");
}
}
}
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.

8: LcdShield.begin(16, 2);

Initialisieren des Objekts LcdShield.

13: uint8_t Taster = LcdShield.readButtons();

Mit der Funktion readButtons() wird der Zustand aller fünf Taster ermittelt und dieser Wert in der Variable Taster abgelegt.

19: if (Taster & BUTTON_UP) { … }

In dieser Bedingung wird überprüft, ob der obere der fünf Taster gedrückt ist.