Hallo
Versuche das Display EA OLED L128-6 an meinem I2C Bus zu betreiben. Das
Display wird vom SSD1309 Prozessor gesteuert. Soll ja der Nachfolger vom
SSD1306 sein.
Auf der Seite des Herstellers ist das Anschlussbild und ein kurzes
Beispiel für das init angegeben. Als adresse habe ich 0x7a ausgelesen.
Leider kann das Display nichts anzeigen oder was wahrscheinlicher ist,
verwende nicht die richtigen Anweisungen dazu.
Kann mir jemand dabei helfen, wenigsten eine Schrift oder was anderes
drauf zu bekommen?
LG Paul
Paul schrieb:> oder was wahrscheinlicher ist,> verwende nicht die richtigen Anweisungen dazu
Wenn du sie nicht zeigst dann können wir nicht beurteilen
ob es die richtigen sind. Auch der gesamte Programmcode
wäre hilfreich bei der Fehlersuche.
Bei Displays kann oft der Fehler auftreten dass man den
Controller mit 5V versorgt und das Display mit 3.3V. Das
vertragen manche Displays nicht, ist aber nicht generell so.
Veilleicht hast du auch einen ganz anderen Fehler in der
Hardware.
Grundsätzlich kann also alles (Hardware und Software) im
Argen liegen. Wenn du nicht zeigst was du in Hardware und
Software machst können wir auch nicht viel weiterhelfen.
Paul schrieb:> Das mit den 3,3V habe ich korekt aufgebaut. Habe einen TS1117 3,3 da> vor.
Das ist natürlich so klar wie Nebelsuppe. Wie soll man
das verstehen? Kopfschüttel.
erklehr behr schrieb:> Bei Displays kann oft der Fehler auftreten dass man den> Controller mit 5V versorgt und das Display mit 3.3V. Das> vertragen manche Displays nicht
Auf der Platine mit dem Display ist ein Regler von 5V auf 3,3V drauf.
Dazu sind zwei BSS138 als Pegelwandler zwischem dem 3,3V Bus und den 5V.
Auf der Displayplatine ist kein eigener Prozessor, alles über den Bus.
Hi
>PS Mein 1306 hat 78 als Adresse
Kommt immer darauf an was dein I²C-Treiber verlangt, entweder
7-Bit-Adresse (->0x3C) oder 8-Bit Adresse (0x78).
MfG Spess
Hallo,
bei EA gibts Application Notes und Bsp. Code. Unter anderem auch für
Arduino. Das Bsp. darin ist zwar für SPI, aber den Code kannste dir ja
rausziehen und das Display damit ausprobieren. Wenn das dann mit SPI
klappt, stimmt was mit deinem I2C nicht. Wenn das mit dem SPI Bsp. nicht
klappt, wird wohl die Beschaltung nicht stimmen. Fehler eingekreist. So
viel zur Ferndiagnose.
Habe denn Hinweis hier gefolgt.
Der Pin 30 muss 3,3V haben. Ist im Schema des Herstellers nicht
angegeben. Damit wird das Display durch den Scanner erkannt.
Bleibt nur noch die Frage nach einem Beispiel mit dem I2C Bus und dem
Kontroller SSD1309.
Hat jemand ein Beispiel dazu?
Paul schrieb:> Der Pin 30 muss 3,3V haben. Ist im Schema des Herstellers nicht> angegeben.
Nö, ist angeben, steht /Reset dran. Das heißt Ruhepegel ist Ub. Kann man
auch von Seite 9 entnehmen. Überprüfe nochmal die Beschaltung.
> Hat jemand ein Beispiel dazu?
Die Kommandos ans Display sind immer gleich, egal welcher Bus. Das
kannste dir auch aus den EA SPI Bsp. rausziehen. Notfalls SPI probieren.
Paul schrieb:> Das Programm entstammt dem DB des Herstellers. Hat der schon was falsch?
Nein, vergiss den Blödsinn, den Marc V. geschrieben hat.
Denn offensichtlich hat Marc V. Schwierigkeiten, ein Datenblatt zu
lesen...
Bitte nicht streiten wer Recht hat. Brauche was konkretes um das Display
in den Griff zu bekommen.
Der Kontroller ist doch der SSD1309.
Sind Programme für OLED des SSD1306 kompatibel?
A. H. schrieb:> Hab ich das falsch im Gedächnis? Muß nicht vor jedem Comanndo ein 0x80?> Als Inint mal versuchsweise nur 7A,80,AF.
Wenn man I2C nutzt, muss vor jedem neuen Befehl ein Controlbyte
geschrieben werden. Bit7 ist Control, daher hast Du Recht.
"After the transmission of the slave address, either the control byte or
the data byte may be sent across
the SDA. A control byte mainly consists of Co and D/C# bits following by
six “0” ‘s.
a. If the Co bit is set as logic “0”, the transmission of the following
information will contain
data bytes only.
b. The D/C# bit determines the next data byte is acted as a command or a
data. If the D/C# bit is
set to logic “0”, it defines the following data byte as a command. If
the D/C# bit is set to logic
“1”, it defines the following data byte as a data which will be stored
at the GDDRAM. The
GDDRAM column address pointer will be increased by one automatically
after each data
write."
Seite 20 Datenblatt.
Paul schrieb:> Bitte nicht streiten wer Recht hat. Brauche was konkretes um das Display> in den Griff zu bekommen.> Der Kontroller ist doch der SSD1309.> Sind Programme für OLED des SSD1306 kompatibel?
Wie geschrieben: Zuerst muss die Adresse auf den Bus, dann:
- wenn Kommando -> 0x80
- wenn Daten -> 0x40
dann ein oder mehrere Daten. Dann Stop.
John Doe schrieb:> Nein, vergiss den Blödsinn, den Marc V. geschrieben hat.> Denn offensichtlich hat Marc V. Schwierigkeiten, ein Datenblatt zu> lesen...
Möglich, nur hat Marc V. keine Schwierigkeiten, ein OLED zum
laufen zu bringen - im Gegensatz zu dir, Besserwisser ohne Ahnung...
Marc V. schrieb:> John Doe schrieb:>> Nein, vergiss den Blödsinn, den Marc V. geschrieben hat.>> Denn offensichtlich hat Marc V. Schwierigkeiten, ein Datenblatt zu>> lesen...>> Möglich, nur hat Marc V. keine Schwierigkeiten, ein OLED zum> laufen zu bringen - im Gegensatz zu dir, Besserwisser ohne Ahnung...
Tja, wenn man kein Datenblatt lesen kann und einem die Argumente
ausgehen, dann fällt man auf das asoziale Proleten-Niveau der Familie,
der man entstammt zurück.
Traurig, traurig...