Forum: Mikrocontroller und Digitale Elektronik OLED Display an Arduino


von Christoph M. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

vielleicht kann mir jemand helfen.
Ich hatte am Arduino ein 20x4-Display von Elecronic Assembly
(DEM 20486 SBH-PW-N) über ein I2C-Backpack angeschlossen. Das 
funktionierte mit dem vorliegenden Code hervorragend.

Nun wollte ich die gleiche Konfiguration mit einem OELD-Display der 
gelichen Firma (EA-W2014-XLG) ausprobieren. Das funktioniert nicht.
Der Bascom-Code als auch die dazugehörige Library (YwRobot_LCD_i2.lib) 
ist gleich geblieben.
Die Bildfolge zeigt, dass nur jedes 4. Bild korrekt wiedergegeben wird.

Mache ich hier etwas falsch...?

Kann hier jemand unterstützen?


Danke !

von leo (Gast)


Lesenswert?

Christoph M. schrieb:
> Der Bascom-Code als auch die dazugehörige Library (YwRobot_LCD_i2.lib)
> ist gleich geblieben.

Du glaubst wirklich, dass 2 sehr unterschiedliche Displays mit ein und 
derselben Library funktionieren?
Warum fragst du nicht in einem Bascom-Forum?

leo

von spess53 (Gast)


Lesenswert?

Hi

>Du glaubst wirklich, dass 2 sehr unterschiedliche Displays mit ein und
>derselben Library funktionieren?

Warum nicht? Ich habe mit solchen OLED-Displays schon LCDs ohne 
Softwareänderung ersetzt. Allerdings selbst geschriebener Treiber und 
nicht so ein Arduinogedöhns.

MfG Spess

von leo (Gast)


Lesenswert?

spess53 schrieb:
> Arduinogedöhns

Es geht um eine Bascom-Lib.

leo

von Andreas S. (Gast)


Lesenswert?

Wenn Du auf Arduinogedöhns wechseln kannst,schau mal hier :

https://www.breadboarding.de/oled-display

Aber zum Spielen wäre mir das etwas zu teuer.

von Helmut -. (dc3yc)


Lesenswert?

Sind die Anfangsadressen der 4 Zeilen bei beiden Displays gleich? Was 
sagt das Datenblatt?

von Christoph M. (Gast)


Lesenswert?

Leo,
Dein Beitrag war nicht unbedingt hilfreich, aber er war von 5 Beiträgen 
der einzig richtige.

Besten Dank!

von Stefan F. (Gast)


Lesenswert?

Schreibe doch bitte nicht Arduino in die Überschrift und in den Text, 
wenn es um Bascom geht!

Außerdem wäre ein Link zur Doku des Displays hilfreich. Denn wenn ich in 
Google nach "EA-W2014-XLG" suche, finde ich nur diesen Thread. Selbst 
auf der Webseite des Herstellers Elecronic Assembly finde ich kein 
Produkt mit "W2014".

von Asko B. (dg2brs)


Lesenswert?

Hallo

wo kommt die 1 her?

Auf dem Aufkleber des Displays steht W204-XLG.

von Stefan F. (Gast)


Lesenswert?

Asko B. schrieb:
> Auf dem Aufkleber des Displays steht W204-XLG.

Ach guck mal, dann findet man auch was. Ganz schön teuer! Ist der 
optische Eindruck denn wenigstens erstklassig, um den Preis zu 
gerechtfertigen?

Jetzt muss sich nur noch jemand die Mühle machen, den Quelltext der 
Bibliothek mit dem Datenblatt 
(https://www.lcd-module.de/fileadmin/pdf/doma/oled.pdf) abzugleichen.

Das sollte der Christoph selber schaffen. Wenn nicht: Anderes Display 
nehmen.

Mich würde interessieren, wie lange das Display haltbar ist. Die 
klitzekleinen OLED Displays aus China sind ja schon nach einem Jahr 
Dauerbetrieb deutlich verschlissen.

von Stefan F. (Gast)


Lesenswert?

Guck mal dort:
Beitrag "OLED Display W204-XLG von electronic Assembly"

Da hat jemand das Display mit Bascom nach anfänglichen Problemen ans 
Laufen bekommen.

von Christoph Maass (Gast)


Lesenswert?

Das bezog sich auf eine andere Art der Ansteuerung.
Benutzung von 4 Datenleitungen + Enable + RS.

von Christoph Maass (Gast)


Lesenswert?

Zum Beitrag von Stefan:

Ich bin nicht sooo tief drin.

Den Quelltext der Lib (YwRobot_Lcd_i2c.lib) anpassen.... kann ich nicht, 
weil ich die darin enthaltenen Commands nicht verstehe.


Ach so und da war noch ein Tippfehler: Das Display heißt  EA-W204-XLG


MfG

Christoph

von Stefan F. (Gast)


Lesenswert?

Christoph Maass schrieb:
> Das bezog sich auf eine andere Art der Ansteuerung.
> Benutzung von 4 Datenleitungen + Enable + RS.

Dein I²C Adapter steuert das Display genau so an.

Da gibt es aber noch andere Hinweise bezüglich Stromversorgung und 
Kondensatoren, die solltest du versuchen bevor du auf ein anderes 
Display wechselst, dass ohne Softwareänderung passt.

von Christoph Maass (Gast)


Lesenswert?

Hallo Stefan,

>  I²C Adapter steuert das Display genau so an.

Ja, das sollte auch so sein. Die gleichen 20x4 Displays des gleichen 
Herstellers laufen mit diesem I2C-Wandler perfekt.
Es ist auch der gleiche Displaycontroller verbaut, und trotzdem
läuft das Teil nicht wie es soll.

Ich werde mich nun von diesem Display trennen, weil der Aufwand dafür
in keinem Verhältnis mehr steht. Schade, die Abbildung ist ja 1a und 
deutlich besser, als beim OLED.

Na ja, es ist ja wie es ist....

Trotzdem nochmals besten Dank für die Hilfe !!!

Christoph

von Stefan F. (Gast)


Lesenswert?

Christoph Maass schrieb:
> Es ist auch der gleiche Displaycontroller verbaut

Nein, es ist lauf Datenblatt ein ähnlicher Controller. Der gleiche kann 
auch gar nicht sein, weil der "originale" ja nur für LC-Displays ist.

von Stieneker (Gast)


Lesenswert?

Hallo Leute,

Hat jemand Erfahrung mit dem Typ  ER-OLEDMO15-1C von buydisplay.com?
Es ist ein 128x128 OLED Display mit 4-SPI Ansteuerung.
Ich hab mir die Software von denen besorgt. Aber die Ansteuerung klappt 
nicht.
Hat jemand sowas schon in Betrieb genommen?

LG Manfred

von Pucki (Gast)


Lesenswert?

Ich programmiere die Teile zwar in b4R aber so ein Problem ist mir 
bekannt.

Ich vermute einen Fehler in der Spaltenansteuerung. Also habe ich immer 
die komplette Zeile neu geschrieben.

Du solltest also die Spalte Debuggen. Wenn der Wert der ist wie er sein 
sollte, musst du halt als Notlösung auf meine Variante ausweichen.

Gruß

  Pucki

von Pucki (Gast)


Lesenswert?

Nachtrag :

Prüfe aber ob das Display richtig initialisiert ist. Es handelt sich 
nämlich bei diesen Display NICHT um ein Pixel gesteuertes Display, 
sondern um ein Zeichen gesteuertes.

Einfach gesagt, du musst in der Ini-Seq. Die Adresse des i2c- Bus 
angeben und die GENAUE Displaygröße. (Zeile + Spalten).

Ach und noch ein Problem. Die meisten der Teile haben Probleme mit den 
Deutschen Sonderzeichen. Da ist die Ansteuerung aufwendig.

Davon abgesehen ist das Display im Foto in mein AUGEN KEIN OLed-Display 
(Was meistens Pixel gesteuert ist) sondern ein LCD-Display (Was Zeichen 
gesteuert ist) und einen festes Zeichensatz im Chip hat.

Normalerweise wird das über viel mehr Pins angesteuert, aber die Platine 
die du da dran ist, hat einen sogenannten Portexpander. Ich tippe mal 
auf ein PCF8574. Das ist nämlich genau die selbe Bauart die ich auch 
immer benutze. Ich China bekomme ich beide Platinen für unter 3 Euro 
zusammen.

Such dir eine Zeichensatztabelle für den Ansteuerungs-Chip des Display. 
Mit fällt der Typ momentan nicht ein.

Gruß

  Pucki

von Manfred (Gast)


Lesenswert?

Pucki schrieb:
> Davon abgesehen ist das Display im Foto in mein AUGEN KEIN OLed-Display

Im Eingangspost sieht das nach einem Textdisplay mit 4 Zeilen zu je 20 
Zeichen aus, beim Chinamann und den Arduinos "2004". Diese Dinger gibt 
es tatsächlich für teuer Geld auch als OLED.

Ganz sicher ist das aber kein 128x128 OLED, Kiddie Stieneker hat hier 
einen vollkommen unpassenden Thread gekapert.

von Stieneker (Gast)


Lesenswert?

Hallo Leute,
Ich wollte hier nichts "kapern".
Aber wo gehört die Frage nach OLED Display denn hin?

LG Manfred

von Pucki (Gast)


Lesenswert?

@Stieneke

Ich erkläre dir mal ganz einfach den Unterschied.  Bei den Display im 
Foto gibt es KEINE Pixelansteuerung die irgend wenn interessiert. Der 
Grund ist einfach.

Bei den INI-Befehl für das Display musst du i2c-Adresse angeben und 
Zeilen + Zeichen.

Dann wird einfach nur gesagt.

Setze Cursor (Zeile ,Spalte )
schreibe Text = Das ist ein Text"

Lies zu den Thema mal diesen Wiki - Eintrag.
https://de.wikipedia.org/wiki/HD44780

Kleiner Tipp dazu. Bei einer Arduino-Software-Version oder Libs. gibt es 
ein Fehler das Texte nicht gelöscht werden oder sauber geschrieben.

Ich habe damals (bevor ich auf b4x umgestiegen bin) den Text in einer 
Schleife geschrieben. Also Buchstabe für Buchstabe mit direkter Spalten 
zuweisen. Vorher ein 16 x " " in die Zeile.


Wundere dich bei den Wiki-Link nicht über die vielen Anschlüsse. Die 
werden durch deine "Hilfsplatine" mit den Portexpander angesteuert.

Eine Ansteuerung ist auch direkt möglich, aber dann gehen dir schnell 
die Pin's aus. Also lerne dringend den Umgang mit den  PCF8574 und 
seiner Familie :)

Der Chip ist in mein Augen das A+O beim Arduino. Auf deiner Hilfsplatine 
kannst du übrigens die I2C-Adresse ändern und den Kontrast einstellen. 
Das ist wichtig weil meine Platinen alle so geliefert wurden, das ich 
NIX gesehen habe. :(

Diese Teile sind im Prinzip zu ziemlich alle gleich. China-logik halt :)


Ein OLed Display anzusteuern ist wesentlich schwerer. Man erkennt 
Oled-Displays daran das eine Punktmatrix angeben ist. Hier z.b. ein 
Beispiel wie ein Display dieser Art angesteuert wird.
https://www.youtube.com/watch?v=VtZvf5T98FI

Einfach gesagt du verwechselst Äpfel mit Birnen.  Und deshalb kommst du 
auf keinen grünen Zweig.

Mach dich einfach mal über die Ansteuerung schlau. Und achte darauf ob 
der selbe Ansteuerungschip (HD-44780 meistens o. kompatible) auf dein 
neuen Display ist.  DAS ist sehr wichtig. Anderer Chip = neue Probleme 
;)

Achja, ich baue diese Displays in JEDES meiner Projekte ein. Und immer 
mit einer Abschaltung um Strom zu sparen.  Der Grund ist einfach. Ich 
will eine Rückmeldung haben. Und eine Art Fehlerprotokoll. Dazu reicht 
eine Variable mit Wert und notfalls ein Handbuch das mir sagt, wo 
welcher Wert aufgetreten ist.

Ach übrigens. B4X bedeutet programmieren In Visual-Basic sehr ähnlichen 
Code. Und das in je nach Version für Arduino, Raspberry u.ä. Spart mir 
das lernen von noch einer Syntax (Pucki faul ist)

https://www.b4x.com   Bascom war mir einfach zu teuer. :) und das B4x 
ist für lau.

Ist aber egal. Die Logik ist eh immer gleich.

Gruß

   Pucki

von QQ (Gast)


Lesenswert?

Stieneker schrieb:
> Ich wollte hier nichts "kapern".
> Aber wo gehört die Frage nach OLED Display denn hin?

Hast du aber.
In einen neuen Thread.
Bitte aber vorher recherchieren, ob du nicht andernords eine Lösung für 
dein Problem findest.

Stieneker schrieb:
> Hallo Leute,
>
> Hat jemand Erfahrung mit dem Typ  ER-OLEDMO15-1C von buydisplay.com?
> Es ist ein 128x128 OLED Display mit 4-SPI Ansteuerung.
> Ich hab mir die Software von denen besorgt. Aber die Ansteuerung klappt
> nicht.
> Hat jemand sowas schon in Betrieb genommen?
>
> LG Manfred

Tipp:
Bei einer solchen Fragestellung reagieren hier viele (zu Recht) 
ungehalten (Klingt nach Troll).
Es fehlen zum Beispiel Links auf das konkrete Produkt und die "Software 
von denen", des Weiteren sind Datenblätter gerne gesehen.
Beschreibe außerdem, was du konkret probiert hast und schildere dein 
Problem. Nenne die Platform und lege gegebenenfalls deinen Quellcode 
offen. Bedenke immer, du schreibst mit Außenstehenden, die von deinem 
Vorhaben und Vorgehen KEINE Ahnung haben. Siehe auch Netiquette.

von Pucki (Gast)


Lesenswert?

Hab mir gerade mal das Datenblatt von den neuen Teil angesehen.

Das kann ein Timi9ng-Problem auch sein.

Ich empfehle dir einfach mal ein wait-Befehl einzubauen in den Code.

So was hilft schon mal, falls da einer nicht mit kommt.

Gruß

  Pucki

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.