Produktbilder dienen ausschließlich zu Informationszwecken und können je nach Charge und Lieferant geringfügige Unterschiede aufweisen. Produktspezifikationen und Preise können ohne vorherige Ankündigung geändert werden. Wir tun unser Bestes, um der Produktseite möglichst genaue und richtige Spezifikationen hinzuzufügen, es ist jedoch möglich, dass diese nicht ganz korrekt sind. Sollten Sie einen solchen Fall feststellen, melden Sie ihn uns bitte.
Das Produkt ist für Fachleute bestimmt und erfordert qualifiziertes und autorisiertes Personal. Dem Produkt liegt keine Montage-/Gebrauchsanleitung bei . Die Inbetriebnahme des Produktes durch nicht qualifizierte Personen führt zum Verlust der Garantie gemäß den AGB auf der Seite.
Die angegebenen technischen Spezifikationen (Strom, Leistung usw.) stellen maximale zulässige Werte unter idealen Betriebsbedingungen dar. Für einen sicheren Betrieb und eine optimale Lebensdauer wird empfohlen, das Produkt im Dauerbetrieb mit höchstens 50 % der angegebenen Maximalwerte zu verwenden.
OLED-Displaymodul 1,3 Zoll, SH1106, Drehgeber EC11, I2C
Kompakte Lösung für HMI-Oberflächen und DIY-Projekte, kombiniert ein 1,3-Zoll-OLED mit hohem Kontrast und einen EC11-Drehencoder für präzise Navigation in Menüs und Einstellungen. Die I2C-Kommunikation reduziert die Verkabelung und ermöglicht eine schnelle Integration mit Arduino und ähnlichen Boards. Enthält einen Druck auf den Encoder sowie Bestätigungs- und Zurück-Tasten für klare Steuerung und sofortiges visuelles Feedback.
Shipping by Donnerstag 22 Oktober
Mit dem Kauf dieses Produkts erhalten Sie 151,72 Ft an Treuepunkten.
International fast shipping within EU. Free Shipping for orders above 100 EUR in most EU countries.
We ship from our stock within 24H
Sie erhalten bei jeder Bestellung Punkte im Wert von 5 %.
Das Modul kombiniert auf einer einzigen Platine ein 1,3-Zoll-OLED-Display mit einem EC11-Drehencoder und unterstützt sowohl Drehimpulse als auch Tastendrücke, um in Elektronikprojekten schnell eine Benutzeroberfläche aufzubauen. Es eignet sich für Bedienfelder, Konfigurationsmenüs, Parametereinstellungen und jede Anwendung, bei der eine klare Navigation und sofortiges visuelles Feedback erforderlich sind.
Die Anzeige erfolgt über ein OLED-Display mit SH1106-Treiber, einer Auflösung von 128 x 64 Pixeln und I2C-Schnittstelle mit der Standardadresse 0x3C. Der EC11-Drehencoder verfügt über einen prunusblütenförmigen Knopf und bietet 20 Positionen (Impulse) pro vollständiger Umdrehung sowie einen integrierten Druckschalter; die Drehsignale sind separat an den Pins TRA und TRB verfügbar, der Druck des Encoders liegt am Pin PSH an.
Zu den Hauptmerkmalen gehören das 1,3-Zoll-OLED-Display mit SH1106-Treiber, der EC11-Drehencoder mit integriertem Taster, die beiden zusätzlichen Touch-Tasten CONFIRM und BACK, der Pin-Header für I2C und die Encodersignale sowie die Befestigungsbohrungen in der Ecke der Platine. Die Versorgung erfolgt über die Pins VCC und GND bei einer Spannung von 3,3 - 5 V.
Über die I2C-Schnittstelle und die digitalen Signale des Encoders und der Tasten ist das Modul kompatibel mit Arduino, ESP32, STM32, Raspberry Pi und anderen Entwicklungsplatinen, die über I2C-Pins und digitale Eingänge verfügen.
Technische Daten:
Versorgungsspannung: 3,3 - 5 V
Displaytyp: OLED
OLED-Treiber: SH1106
Displaygröße: 1,3 Zoll
Displayauflösung: 128 x 64 Pixel
Steuerungstyp: EC11-Drehencoder
Encoderauflösung: 20 Impulse pro Umdrehung, mit integriertem Schalter
Kommunikationsschnittstelle: I2C, Standardadresse 0x3C
Zusätzliche Tasten: CONFIRM (CON) und BACK (BAK)
Platinengröße: 56 x 97 mm
Pinbelegung:
| Steckverbinder | Pin | Funktion |
|---|---|---|
| P1 Pin-Header | CON | CONFIRM-Taste |
| P1 Pin-Header | SDA | I2C-Datenleitung für das OLED |
| P1 Pin-Header | SCL | I2C-Taktleitung für das OLED |
| P1 Pin-Header | PSH | EC11-Encoder-Druck |
| P1 Pin-Header | TRA | EC11-Encoder-Signal A |
| P1 Pin-Header | TRB | EC11-Encoder-Signal B |
| P1 Pin-Header | BAK | RETURN-Taste |
| P1 Pin-Header | GND | Masse |
| P1 Pin-Header | VCC | Versorgung |
| Modulpin | Arduino UNO | Funktion |
|---|---|---|
| GND | GND | Gemeinsame Masse |
| VCC | 3.3V | Modulversorgung |
| SCL | A5 | I2C-Takt |
| SDA | A4 | I2C-Daten |
| TRA | D2 | Encoder-Kanal A, empfohlen an Interrupt-Pin |
| TRB | D3 | Encoder-Kanal B, empfohlen an Interrupt-Pin |
| PSH | D4 | Encoder-Druck (Select) |
| CON | D5 | Optionale CONFIRM-Taste |
| BAK | D6 | Optionale RETURN-Taste |
Verwendung:
Verbinden Sie die Pins VCC und GND des Moduls mit der Stromversorgung und der gemeinsamen Masse der Steuerplatine und achten Sie dabei auf die Spannung von 3,3 - 5 V sowie auf die korrekte Polarität.
Verbinden Sie SDA und SCL mit den I2C-Pins des Mikrocontrollers, zum Beispiel A4 und A5 beim Arduino UNO.
Verbinden Sie TRA und TRB mit zwei digitalen Pins, vorzugsweise mit Interrupt-Funktion, um die Richtung und die Schritte der Encoder-Drehung präzise zu erfassen.
Verbinden Sie PSH mit einem digitalen Pin mit Pull-up-Widerstand, um den Druck des Encoders auszulesen.
Verbinden Sie optional CON und BAK mit separaten digitalen Pins, wenn Sie dedizierte Tasten für Bestätigung und Zurück wünschen, unabhängig vom Druck des Encoders.
Programmieren Sie die OLED-Anzeige wie bei jedem anderen Modul mit SH1106-Treiber, indem Sie eine kompatible Bibliothek wie Adafruit_SH110X.h zusammen mit Adafruit_GFX und der standardmäßigen I2C-Adresse 0x3C verwenden.
Lesen Sie die Signale TRA und TRB über eine Interrupt-Routine aus, um die Drehrichtung zu bestimmen, und behandeln Sie PSH, CON und BAK als digitale Eingänge mit Software-Entprellung.
Vertauschen Sie nicht die Anschlüsse VCC und GND und überschreiten Sie nicht die maximal zulässige Spannung des Moduls.
Für stabile Ergebnisse verwenden Sie kurze Kabel zwischen dem Modul und der Steuerplatine und lassen Sie die Pull-up-Widerstände auf den digitalen Leitungen des Encoders und der Tasten aktiv.
Produs destinat utilizarii in proiecte electronice, automatizari, prototipare, educatie si cercetare.
Produsul trebuie utilizat numai conform specificatiilor tehnice mentionate in descriere si/sau in documentatia produsului.
Avertismente generale de siguranta:
Nu utilizati produsul la tensiuni, curenti sau temperaturi peste valorile specificate.
Montajul si conectarea trebuie realizate de persoane cu cunostinte tehnice minime in domeniul electric/electronic.
Evitati scurtcircuitele, inversarea polaritatii si conectarea gresita a alimentarii.
Nu lasati produsul alimentat nesupravegheat in timpul testelor.
Produsul nu este jucarie si nu este destinat copiilor.
Pentru modulele electronice, se recomanda utilizarea in carcase, panouri sau montaje protejate, dupa caz.
Identificare produs:
Denumirea produsului, codul/SKU-ul si caracteristicile tehnice sunt mentionate in pagina produsului si/sau pe eticheta ambalajului.
Producator / Importator / Distribuitor:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Website: www.sigmanortec.ro
Persoana responsabila in UE:
Sigmanortec S.R.L.
Calea Bucuresti nr. 9, Targu Jiu, Gorj, Romania
E-mail: [email protected]
Documentatie si siguranta:
Pentru informatii suplimentare, fise tehnice, declaratii de conformitate sau instructiuni, ne puteti contacta la [email protected].
/*
Quick verification sketch for the SH1106 1.3 inch OLED module with EC11 rotary encoder
Board: Arduino Uno
Wiring:
Module VCC -> Arduino 3.3V
Module GND -> Arduino GND
Module SDA -> Arduino A4
Module SCL -> Arduino A5
Module TRA -> Arduino D2 (interrupt pin)
Module TRB -> Arduino D3
Module PSH -> Arduino D4
Module CON -> Arduino D5
Module BAK -> Arduino D6
Libraries (Library Manager):
Adafruit SH110X by Adafruit
Adafruit GFX Library by Adafruit
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>
#define OLED_ADDRESS 0x3C
Adafruit_SH1106G display(128, 64, &Wire, -1);
const int PIN_TRA = 2;
const int PIN_TRB = 3;
const int PIN_PSH = 4;
const int PIN_CON = 5;
const int PIN_BAK = 6;
volatile long encoderCount = 0;
volatile uint8_t lastStateA = 0;
void encoderISR() {
uint8_t stateA = digitalRead(PIN_TRA);
if (stateA == lastStateA) return;
lastStateA = stateA;
uint8_t stateB = digitalRead(PIN_TRB);
if (stateB != stateA) {
encoderCount++;
} else {
encoderCount--;
}
}
void setup() {
Serial.begin(9600);
Serial.println("Scanning I2C bus...");
Wire.begin();
byte foundAddress = 0;
for (byte address = 1; address < 127; address++) {
Wire.beginTransmission(address);
if (Wire.endTransmission() == 0) {
Serial.print("Device found at address 0x");
Serial.println(address, HEX);
foundAddress = address;
}
}
if (foundAddress == 0) {
Serial.println("No I2C device found, check wiring");
}
pinMode(PIN_TRA, INPUT_PULLUP);
pinMode(PIN_TRB, INPUT_PULLUP);
pinMode(PIN_PSH, INPUT_PULLUP);
pinMode(PIN_CON, INPUT_PULLUP);
pinMode(PIN_BAK, INPUT_PULLUP);
lastStateA = digitalRead(PIN_TRA);
attachInterrupt(digitalPinToInterrupt(PIN_TRA), encoderISR, CHANGE);
if (!display.begin(OLED_ADDRESS, true)) {
Serial.println("SH1106 display not found at 0x3C");
} else {
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(SH110X_WHITE);
display.setCursor(0, 20);
display.print("TEST OK");
display.display();
Serial.println("Display initialized");
}
}
void loop() {
static long lastCount = -1;
if (encoderCount != lastCount) {
lastCount = encoderCount;
Serial.print("Encoder count: ");
Serial.println(encoderCount);
}
if (digitalRead(PIN_PSH) == LOW) {
Serial.println("Encoder button pressed");
delay(200);
}
if (digitalRead(PIN_CON) == LOW) {
Serial.println("CONFIRM button pressed");
delay(200);
}
if (digitalRead(PIN_BAK) == LOW) {
Serial.println("BACK button pressed");
delay(200);
}
}
Das Modul vereint auf einer einzigen Platine ein OLED-Display mit 1,3 Zoll und SH1106-Treiber sowie einen Drehencoder EC11 mit integriertem Taster, plus zwei zusätzliche Taster CONFIRM und BACK. Es ist für Benutzeroberflächen in Mikrocontroller-Projekten gedacht, bei denen ein Menü oder ein Wert angezeigt werden muss und bei denen der Benutzer navigieren und eine Auswahl bestätigen muss, ohne Tastatur oder Touchscreen.
Das Tutorial verwendet eine Arduino Uno Platine, da das Modul über I2C und über einfache digitale Eingänge kommuniziert, Schnittstellen, die auf dem Arduino Uno bereits verfügbar sind, ohne dass WiFi oder zusätzlicher Speicher benötigt werden.

Funktionsweise:
Das Display wird vom SH1106-Treiber gesteuert, der einen internen Pixelspeicher mit 128 x 64 Punkten verwaltet und Befehle und Daten über das I2C-Protokoll empfängt, auf den Leitungen SDA und SCL, unter der Adresse 0x3C. Der Mikrocontroller zeichnet nicht direkt auf das Panel, sondern sendet Datenblöcke, die den Speicherseiten des Displays entsprechen, was automatisch von einer kompatiblen SH1106-Bibliothek erledigt wird.
Der Encoder EC11 besitzt zwei intern versetzte Kontakte, TRA und TRB, die sich während der Drehung nacheinander schließen. Die Reihenfolge, in der die beiden Signale vom hohen in den niedrigen Zustand wechseln, zeigt die Drehrichtung an, und jedes Übergangspaar entspricht einem einzelnen mechanischen Schritt, wobei das Modul 20 Positionen pro vollständiger Umdrehung hat, also ungefähr 18 Grad pro Schritt, 360 Grad geteilt durch 20 Positionen. Der Code liest diese Übergänge über eine an TRA angehängte Interrupt-Routine und bestimmt, ob sich TRB im gleichen Zustand wie TRA oder im entgegengesetzten Zustand befindet, um festzustellen, ob die Drehung im Uhrzeigersinn oder gegen den Uhrzeigersinn erfolgt.
Der eingebaute Taster des Encoders, am Pin PSH, sowie die unabhängigen Taster CON und BAK, funktionieren als einfache digitale Eingänge, die bei Betätigung auf niedriges Niveau wechseln, wobei das Modul bereits integrierte Pull-up-Widerstände besitzt, und der Code liest deren Zustand in kurzen Intervallen und wendet ein Software-Debounce an, um falsche Auslösungen durch den mechanischen Kontakt zu vermeiden.
Was Sie benötigen:
- 1 x Modul mit OLED-Display 1,3 Zoll, SH1106, Drehencoder EC11, I2C
- 1 x Entwicklungsboard Uno R3 mit WiFi ESP8266, kompatibel mit Arduino
- 1 x Jumper-Kabel Stecker-Buchse
Anschluss:
Das Modul wird zwischen 3.3 V und 5 V versorgt, und die I2C-Signale sowie die digitalen Eingänge sind bereits mit dem logischen Pegel des Arduino Uno kompatibel, sodass kein Pegelwandler oder externe Pull-up-Widerstände für die Taster nötig sind. Verbinden Sie zuerst die Versorgung und Masse, dann die I2C-Leitungen, dann die Signale des Encoders und der Taster.
| Produkt-Pin | Verbindet sich mit | Funktion |
|---|---|---|
| VCC | 3.3V | Modulversorgung |
| GND | GND | Gemeinsame Masse |
| SDA | A4 | I2C-Daten |
| SCL | A5 | I2C-Takt |
| TRA | D2 | Encoder-Kanal A, Interrupt-Pin |
| TRB | D3 | Encoder-Kanal B |
| PSH | D4 | Encoder-Taste |
| CON | D5 | Taster CONFIRM |
| BAK | D6 | Taster BACK |
Bibliotheken:
Installieren Sie aus dem Library Manager die Bibliothek Adafruit SH110X, von Adafruit, zur Steuerung des OLED-Displays mit SH1106-Treiber, zusammen mit der Adafruit GFX Library, von Adafruit, von der sie zum Zeichnen von Text und Formen abhängt.
Der Code:
Das untenstehende Programm zeigt ein Menü mit drei Optionen auf dem OLED-Display an, das Sie durch Drehen des Encoders navigieren, durch Drücken von PSH oder CON bestätigen und durch Drücken von BAK auf das erste Element zurücksetzen können, während gleichzeitig Debug-Meldungen auf dem seriellen Monitor angezeigt werden.
/*
Tutorial sketch for the SH1106 1.3 inch OLED module with EC11 rotary encoder
Board: Arduino Uno
Wiring:
Module VCC -> Arduino 3.3V
Module GND -> Arduino GND
Module SDA -> Arduino A4
Module SCL -> Arduino A5
Module TRA -> Arduino D2 (interrupt pin)
Module TRB -> Arduino D3
Module PSH -> Arduino D4
Module CON -> Arduino D5
Module BAK -> Arduino D6
Libraries (Library Manager):
Adafruit SH110X by Adafruit
Adafruit GFX Library by Adafruit
*/
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SH110X.h>
#define OLED_ADDRESS 0x3C
#define OLED_WIDTH 128
#define OLED_HEIGHT 64
Adafruit_SH1106G display(OLED_WIDTH, OLED_HEIGHT, &Wire, -1);
const int PIN_TRA = 2;
const int PIN_TRB = 3;
const int PIN_PSH = 4;
const int PIN_CON = 5;
const int PIN_BAK = 6;
volatile int encoderDelta = 0;
volatile uint8_t lastStateA = 0;
const char *menuItems[] = {"Status", "Settings", "About"};
const uint8_t menuCount = sizeof(menuItems) / sizeof(menuItems[0]);
int menuIndex = 0;
unsigned long lastPshTime = 0;
unsigned long lastConTime = 0;
unsigned long lastBakTime = 0;
const unsigned long debounceDelay = 180;
// Interrupt routine, called on every change of PIN_TRA
void encoderISR() {
uint8_t stateA = digitalRead(PIN_TRA);
if (stateA == lastStateA) return;
lastStateA = stateA;
uint8_t stateB = digitalRead(PIN_TRB);
if (stateB != stateA) {
encoderDelta++;
} else {
encoderDelta--;
}
}
// Generic debounced button check
bool buttonPressed(int pin, unsigned long &lastTime) {
if (digitalRead(pin) == LOW) {
unsigned long now = millis();
if (now - lastTime > debounceDelay) {
lastTime = now;
return true;
}
}
return false;
}
// Draws the menu with the current selection highlighted
void drawMenu() {
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SH110X_WHITE);
display.setCursor(0, 0);
display.print("Sigmanortec Demo");
display.drawLine(0, 10, 127, 10, SH110X_WHITE);
int y = 16;
for (uint8_t i = 0; i < menuCount; i++) {
if (i == menuIndex) {
display.fillRect(0, y - 1, 128, 9, SH110X_WHITE);
display.setTextColor(SH110X_BLACK);
} else {
display.setTextColor(SH110X_WHITE);
}
display.setCursor(4, y);
display.print(menuItems[i]);
y += 10;
}
display.display();
}
void setup() {
Serial.begin(9600);
pinMode(PIN_TRA, INPUT_PULLUP);
pinMode(PIN_TRB, INPUT_PULLUP);
pinMode(PIN_PSH, INPUT_PULLUP);
pinMode(PIN_CON, INPUT_PULLUP);
pinMode(PIN_BAK, INPUT_PULLUP);
lastStateA = digitalRead(PIN_TRA);
attachInterrupt(digitalPinToInterrupt(PIN_TRA), encoderISR, CHANGE);
if (!display.begin(OLED_ADDRESS, true)) {
Serial.println("OLED not found at address 0x3C");
while (true) delay(1000);
}
Serial.println("OLED SH1106 + EC11 encoder demo ready");
drawMenu();
}
void loop() {
noInterrupts();
int delta = encoderDelta;
encoderDelta = 0;
interrupts();
if (delta > 0) {
menuIndex = (menuIndex + 1) % menuCount;
Serial.println("Encoder turned clockwise");
drawMenu();
} else if (delta < 0) {
menuIndex = (menuIndex - 1 + menuCount) % menuCount;
Serial.println("Encoder turned counter-clockwise");
drawMenu();
}
if (buttonPressed(PIN_PSH, lastPshTime) || buttonPressed(PIN_CON, lastConTime)) {
Serial.print("Selected menu item: ");
Serial.println(menuItems[menuIndex]);
}
if (buttonPressed(PIN_BAK, lastBakTime)) {
Serial.println("Back button pressed");
menuIndex = 0;
drawMenu();
}
}
Funktionsweise des Codes:
Am Anfang des Codes werden das Objekt display der Klasse Adafruit_SH1106G, die Adresse OLED_ADDRESS und die Pins PIN_TRA, PIN_TRB, PIN_PSH, PIN_CON und PIN_BAK definiert, zusammen mit dem Array menuItems, das die drei Menüoptionen enthält, und der Variable menuIndex, die die aktuell ausgewählte Option speichert.
Die Funktion encoderISR wird als Interrupt bei Zustandsänderung des Pins PIN_TRA angehängt, vergleicht den neuen Zustand mit lastStateA und prüft, falls sich dieser geändert hat, den Zustand von PIN_TRB, um zu entscheiden, ob die Variable encoderDelta erhöht oder verringert wird, wodurch die Drehschritte zwischen zwei Durchläufen von loop akkumuliert werden.
Die Funktion buttonPressed erhält den zu prüfenden Pin und wendet ein auf millis basierendes Debounce an, wobei sie nur dann wahr zurückgibt, wenn der Pin auf niedrigem Niveau liegt und seit der letzten erfassten Betätigung dieses Pins genug Zeit vergangen ist.
Die Funktion drawMenu löscht den Bildschirm, schreibt einen Titel und eine Trennlinie, durchläuft dann menuItems und zeichnet jede Option, wobei die an Position menuIndex befindliche Option mit einem ausgefüllten Rechteck hervorgehoben wird.
In setup wird der serielle Port initialisiert, die Pins als Eingänge mit Pull-up konfiguriert, der Anfangszustand von PIN_TRA in lastStateA eingelesen, der Interrupt encoderISR angehängt und das Display mit display.begin unter Verwendung von OLED_ADDRESS initialisiert, wonach das anfängliche Menü gezeichnet wird.
In loop wird encoderDelta in einem durch noInterrupts und interrupts geschützten Bereich gelesen und zurückgesetzt, menuIndex aktualisiert und das Menü bei jedem Drehschritt neu gezeichnet, anschließend wird buttonPressed für PIN_PSH, PIN_CON und PIN_BAK geprüft, um die ausgewählte Option oder die Rückkehr zum ersten Element auf der seriellen Schnittstelle anzuzeigen.
Ergebnis:
Öffnen Sie den seriellen Monitor bei 9600 Baud, drehen Sie den Encoder, um zu sehen, wie sich die Auswahl auf dem Bildschirm zwischen den Menüoptionen bewegt, drücken Sie PSH oder CON, um eine Option zu bestätigen, und BAK, um zur ersten Option zurückzukehren, wobei Sie die entsprechenden Meldungen auf dem seriellen Monitor beobachten.
OLED SH1106 + EC11 encoder demo ready
Encoder turned clockwise
Encoder turned clockwise
Selected menu item: Settings
Encoder turned counter-clockwise
Selected menu item: Status
Encoder turned clockwise
Encoder turned clockwise
Selected menu item: About
Back button pressed
Häufige Probleme:
Das Display bleibt ausgeschaltet oder display.begin gibt falsch zurück, in diesem Fall prüfen Sie zunächst die Verbindungen SDA und SCL sowie die Versorgung VCC und GND, bestätigen Sie dann durch eine I2C-Suche, dass das Modul unter der Adresse 0x3C antwortet.
Das Menü springt bei einer einzigen leichten Drehung des Encoders um mehrere Positionen, in diesem Fall sind TRA oder TRB nicht korrekt angeschlossen oder die Kabel sind zu lang und nehmen Störungen auf, verwenden Sie kurze Kabel und prüfen Sie, dass beide Signale an den angegebenen digitalen Pins ankommen.
Ein Taster scheint bei einer einzigen Betätigung mehrfach zu drücken, ein Zeichen dafür, dass das Debounce-Intervall für diesen mechanischen Kontakt zu klein ist, erhöhen Sie leicht den Wert debounceDelay im Code.
Das Drehen des Encoders bewirkt keine Reaktion, prüfen Sie, dass der Interrupt korrekt am Pin PIN_TRA angehängt ist und dass dieser auf dem verwendeten Board interruptfähig ist, auf dem Arduino Uno bieten nur D2 und D3 diese Funktion.
Auf dem seriellen Monitor erscheint nichts, bestätigen Sie, dass die im Monitor gewählte Geschwindigkeit 9600 Baud beträgt, dieselbe wie in Serial.begin, und dass das Board am korrekten Port angeschlossen ist.
Einschränkungen und Tipps:
Das monochrome Display mit 1,3 Zoll und der Auflösung von 128 x 64 Pixeln begrenzt die Anzahl der gleichzeitig klar angezeigten Menüzeilen, für längere Menüs ist das Scrollen oder die Aufteilung auf mehrere Seiten nützlich. Der Encoder bietet 20 Positionen pro Umdrehung, ausreichend für feine Parameteranpassungen, jedoch ohne Sensor für absolute Position, sodass beim Start der aktuelle Wert aus dem Code initialisiert oder aus einem nichtflüchtigen Speicher gelesen werden muss, falls die letzte Einstellung beibehalten werden soll. Ausgehend von diesem Beispiel kann ein Menü mit mehreren Ebenen aufgebaut werden, die Anzeige von Sensorwerten oder die Steuerung externer Module durch mit PSH oder CON bestätigte Auswahlen.