Zum Hauptinhalt springen

Das OLED-Display (3pi+ 32u4)

Bibliotheken des Herstellers Pololu

Mit der Klasse OLED werden die Methoden für das Display bereitgestellt.

void clear()

Löscht den Displayinhalt und setzten den Cursor auf die erste Stelle in der ersten Zeile (0,0).

void print()

Kann wie der Arduinobefehl Serial.print()verwendet werden. Kann Strings oder auch auch Integerwerte ausgeben. Der Befehl println() steht für das Display nicht zur Verfügung.

void gotoXY(int x, int y)

Positioniert den Cursor entsprechend den angegeben X,Y-Koordinaten auf dem Display. Die Koordinaten (0,0) entsprechen dem ersten Zeichen in der ersten Zeile. Die Koordinaten (0,1) setzen den Cursor auf das erste Zeihen in der zweiten Zeile. Beim anschließenden Aufruf von print() wird der Inhalt an der aktuellen Cursorposition ausgegeben.

Beispiel

// Einfaches Beispiel für das OLED-Display des 3pi+ 32u4

#include <Pololu3piPlus32U4.h> // Bibliothek für den 3pi+
using namespace Pololu3piPlus32U4; // Vereinfachter Zugriff auf die Bibliothek

OLED oled; // Objekt für das OLED-Display
int counter = 0;

void setup()
{
oled.clear(); // löscht das Display und setzt den Cursor nach oben links (0,0)
oled.print("Zahl"); // gibt den Text "Zahl" aus
}

void loop()
{
oled.gotoXY(0, 1); // Setzt den Cursor (X,Y): 1. Stelle, 2. Zeile,
oled.print(counter); // gibt den Wert der Variablen aus (der alte Text wird überschrieben)
counter++;
delay(100);
}

setLayout8x2()

Konfiguriert das OLED Display für 8 Zeichen pro Zeile und 2 Zeilen.

setLayout11x4()

Konfiguriert das OLED Display für 11 Zeichen pro Zeile und 4 Zeilen.

setLayout21x8()

Konfiguriert das OLED Display für 21 Zeichen pro Zeile und 8 Zeilen.

Beispiel Display-Layout

/* Umschalten des Layouts beim OLED-Display */
#include <Pololu3piPlus32U4.h>
using namespace Pololu3piPlus32U4;

OLED oled; // Objekt für das LCD-Display
ButtonA buttonA; // Objekt für den Taster A

void setup(){ }

void loop()
{
oled.setLayout8x2(); // Umschalten auf 2 Zeilen, 8 Zeichen pro Zeile
oled.clear();
oled.print("8x2");
oled.gotoXY(0, 1);
oled.print("Taster A");
buttonA.waitForButton(); // Warten auf Taster A.

oled.setLayout11x4(); // Umschalten auf 4 Zeilen, 11 Zeichen pro Zeile
oled.clear();
oled.print("11x4");
oled.gotoXY(0, 3);
oled.print("Taster A");
buttonA.waitForButton(); // Warten auf Taster A.

oled.setLayout21x8(); // Umschalten auf 8 Zeilen, 21 Zeichen pro Zeile
oled.clear();
oled.print("Layout 21x8");
oled.gotoXY(0, 7);
oled.print("Taster [A] druecken");
buttonA.waitForButton(); // Warten auf Taster A.
}