View on GitHub

oled-16x8

Calliope i2c Erweiterung für (gleichzeitig zwei) 'Grove - OLED Displays 128x64 Pixel' mit Zeichensatz im 'SparkFun Qwiic EEPROM Breakout - 512Kbit'

Diese Seite bei https://calliope-net.github.io/oled-16x8/ öffnen.

Zum Programmieren des EEPROM die Erweiterung calliope-net/oled-eeprom verwenden.

Calliope Erweiterung für i2c OLED Displays, Zeichensatz im EEPROM:

OLED neu gedacht - 2 Displays gleichzeitig - EEPROM - 1 Stecker - i2c-Bus

Querformat 16x8 - Hochformat 8x16 - 2x16x8=256 Zeichen auf einen Blick

mehrere Zeichensätze je 256 Zeichen und Platz für Bilder im EEPROM

Calliope funktioniert mit jeder (Speicher-) Konfiguration und Version (ab 1.3)

Calliope Erweiterung für die i2c Module:

Dieses Repository kann als Erweiterung in MakeCode hinzugefügt werden.

Beschreibung der Erweiterung für ‘Grove - OLED Displays’

Der vorhandene Code für OLED Displays wurde bezüglich i2c-Bus-Kommunikation so stark optimiert, dass davon nichts übrig blieb. Die Menge der über den i2c Bus übertragenen Bytes wurde erheblich reduziert, und der zusätzliche Verkehr mit dem EEPROM führt zu keiner Verzögerung.

Bei dem neueren Yellow&Blue Display kann die i2c Adresse durch überbrücken von D/C und VCC von 0x3C in 0x3D geändert werden. So können 2 Displays angeschlossen werden und insgesamt 256 Zeichen gleichzeitig anzeigen. Es ist aber auch möglich, mehrere Displays mit gleichen i2c Adressen parallel zu schalten, die dann das gleiche Bild anzeigen. Das gelingt, weil keine Daten zurück gelesen werden (können). Die Farben Yellow&Blue sind fest: 1/4 (2 Zeilen) sind gelb und 3/4 (6 Zeilen) sind blau.

Blöcke

beim Start

Der Block muss für jedes Display aufgerufen werden. Dabei ist die richtige i2c Adresse einzustellen. Mit optionalen Parametern kann eingestellt werden:

Display löschen, Cursor, Text

Ohne optionale Parameter wird das gesamte Display gelöscht. Tatsächlich werden 128 Leerzeichen geschrieben. Es können einzelne Zeilen gelöscht und ein anderes Zeichen angegeben werden, mit dem die Zeilen gefüllt werden.

Der Cursor kann an eine Stelle gesetzt werden und Text wird ab Cursorposition geschrieben. Der Parameter Text ist vom Typ any und nimmt auch Blöcke vom Typ number oder boolean.

Text in einen festen Bereich schreiben

Es gibt 2 Blöcke Text 16x8 und Text 8x16, die benutzt werden müssen wie das Display eingebaut ist (Querformat oder Hochformat). Der Block positioniert immer den Cursor und schreibt immer genau die festgelegte Anzahl Zeichen. Wenn der Text zu lang ist, wird er abgeschnitten. Ist der Text zu kurz, wird hinten oder vorne mit Leerzeichen aufgefüllt. In der nächsten Zeile wird nicht weiter geschrieben. So können viele Messwerte ihren festen Bereich auf dem Display haben.

Der feste Bereich wird durch die Zeile und die Anfangs- und End-Position in der Spalte definiert - nicht durch die Länge. So können übersichtlich mehrere Werte von 0 bis 3, der nächste von 4 bis 9 und der letzte von 10 bis 15 definiert werden.

Der Parameter Text ist vom Typ any und nimmt auch Blöcke vom Typ number oder boolean.

EEPROM direkt auf das Display kopieren

Genau wie beim Löschen können auch Bytes aus dem EEPROM einfach auf das Display kopiert werden. Der Speicherbereich mit dem Zeichengenerator schreibt dann alle Zeichen in der Reihenfolge ihres Zeichencodes auf das Display. Und weil 128 Zeichen drauf passen, ist das der ganze (ASCII-) Zeichensatz. Es kann auch jede Zeile einzeln aus einem anderen Speicherbereich geholt werden. Auch Bilder können damit angezeigt werden, aber die müssen vorher erst mal in den EEPROM programmiert werden.

Erweiterungen

Upates für Erweiterungen; Erweiterungen aus einem Projekt löschen.

Alle i2c-Erweiterungen für MakeCode von calliope-net (Software).

Calliope-Apps, .hex-Dateien, Bildschirmfotos mit Blöcken

Alle Beispiel-Projekte für MakeCode von calliope-net (Calliope-Apps).

GitHub-Profil calliope-net: https://github.com/calliope-net

Bezugsquellen

Alle i2c-Module und Bezugsquellen (Hardware).

Metadaten (verwendet für Suche, Rendering)