Grove OLED-Display 1.12'' mit SHG1107 (128x128)

Hallo zusammen,

ich habe ein Grove OLED Display 1.12’ der dieser Bibliothek ausprobiert: Microbit-Grove-Library/pxt-OledDisplay (github.com)

Das Display hat einen SHG1107 Chip, genau wie in dieser Bibliothek vorgesehen. Jedoch stürzt der Calliope-mini ab, sowie ich die diese Bibliothek einbinde und ein einfaches Testprogramm erstelle (die LEDs der LED-Matrix blinken mehrmals kurz auf und dann kommt es zum Reset).

image

Wenn ich das Hex-File aus diesem Forumsbeitrag Grove - OLED Display 1.12 - #4 von klmi
direkt auf den Calliope lade, funktioniert alles. Sobald ich im Makecode-Editor das Programm nochmal kompiliere und im Anschluss neu auf den Calliope lade, dann stürzt der Calliope wieder ab.
Wenn ich die Beta-Version von Makecode nutze, dann passiert der gleiche Effekt (Absturz).

Hat jemand eine Idee woran das liegen könnte bzw. eine Lösung?

Schöne Grüße, xaver

Ergänzung: Es handelt sich um dieses OLED-Display:

image

seeed Grove - 1.12’’… kaufen bei BerryBase

Bin mir nicht sicher ob das Display nicht den ssd1327 besitzt, da es scheinbar mehrere Versionen gibt. Versuch mal GitHub - SuperEugen/pxt-calliope-grove-ssd1327: MakeCode package for your Calliope-Mini. Use it with the SeeedStudio Grove connected greyscale OLED.

Viel Erfolg!
Michael

Vielen Dank für den Hinweis auf die Erweiterung für den SSD1127.
Ich habe versucht, die von dir verlinkte Erweiterung einzubinden. Jedoch kommt dann eine Fehlermeldung:

Ich verwende die aktuelle Version von Makecode:
image

Kannst du diese Erweitung einbinden ?

Versuch es mal mit diesem Projekt, ich musste die Erweiterung auch als custom.ts einbinden. OLEDTest

1 „Gefällt mir“

Wenn es läuft kann ich Dir auch eine Erweiterung generieren.

mfg Michael

Hallo Michael,
vielen Dank für dein Testdatei. Ich konnte diese ausprobieren:

  • erster Erfolg: der Calliope stürzt nicht mehr ab und spricht zumindest das Display an
  • Einschränkung: das Display wird von den Adressen und Pages noch falsch angesteuert, so dass der Text nicht sinnvoll dargestellt wird.

image

Ich hatte auch noch mal bzgl. des Chips recherchiert. Da sind tatsächlich die Beschreibung sehr ungünstig uns sogar widersprüchlich und es wird nicht wirklich klar, ob nun ein SSD1327 oder SH1107 in dieser Display-Version zum Einsatz kommt.

Ich habe mir daher mit dem I2C-Schreibblock aus der Kategorie PINs eine Init-Sequence für den Chip SH1107 gebaut - und siehe da - damit funktioniert es. Es ist also ein SH1107G Chip verbaut.

Da mich zwischenzeitlich dieser Display-Typ etwas genervt hatte, habe ich ich mich an meinem zweiten Display versucht - ein farbiges 1.8’’ LCD-Display von waveshare mit einem ST7735. Chip. Hier gibt es eine Erweiterung von microbit - aber auch diese läuft nicht auf dem Calliope.

Ich habe mir dann eine eigene Erweiterung gebaut und auf Calliope angepasst:
coding4coconut/pxt-lcd128x160-st7735s: LCD-Display Treiber mit ST7735-Chipsatz für Calliope mini und MakeCode (github.com)

Mit dieser Erweiterung funktioniert das LCD-Display mit ST7735 einwandfrei.
Ich habe gesehen, dass du bereits ein Fork in Github darauf gezogen hast.

image

Ist dir bekannt, wie nun so eine Erweiterung auch offiziell für andere Calliope-Nutzer in den Erweiterungen bereitgestellt wird ?
coding4coconut/pxt-lcd128x160-st7735s: LCD-Display Treiber mit ST7735-Chipsatz für Calliope mini und MakeCode (github.com)

Also so, dass die Erweiterung direkt zur Auswahl steht, wenn man in Makecode auf „Erweiterungen“ klickt" ?
Deine Erweiterung für das OLED-SSD1306 konnte ich so direktunter „Erweiterungen“ über Makecode finden.

Ansonsten können ja andere Calliope-Nutzer so eine neue Erweiterung ja gar nicht nutzen, wenn sie den Link nicht explizit von mir haben.

Schöne Grüße
xaver

Hi @xaver,

die Erweiterungen stehen in dieser Datei: pxt-calliope/targetconfig.json at master · microsoft/pxt-calliope · GitHub

Entweder dort die entsprechenden Änderungen selbst vornehmen und per Pull Request vorschlagen, oder ein Issue dazu erstellen und ich mache die Änderungen beim abarbeiten der issues: Issues · microsoft/pxt-calliope · GitHub

Mergen und eine neue Version erstellen muss dann immer jemand von Microsoft machen und die Änderungen sind dann erst einmal auch nur in der Beta.

Lizenzdatei unbedingt hinzufügen!

…und hier nun auch die fertige pxt-Erweiterung für OLED Displays mit SH1107-Chip und I2C-Interface:

coding4coconut/pxt-oled128x128-sh1107: Control any OLED display (128x128) with a SH1107-chip along with calliope mini and I2C-interface (github.com)

1 „Gefällt mir“