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.
