Forum: Mikrocontroller und Digitale Elektronik Mit I2C(TWI) das Display EA DOGM204-A ansteuern


von Simon H. (simon21)


Lesenswert?

Hallo zusammen

Hat jemand von euch schon mal das Display EA DOGM204-A mit I2C 
angesteuert und zum laufen gebracht? Ich finde das Datenblatt ist sehr 
schlecht beschrieben, zudem benutze ich I2C zum ersten mal.

Wäre froh um jeden Code schnipsel und Tipp, denn ihr mir geben könnt.

Vielen Dank

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Simon H. schrieb:
> Hat jemand von euch schon mal das Display EA DOGM204-A mit I2C
> angesteuert und zum laufen gebracht?
Ja, ist aber schon ein paar Jahre her.

> Ich finde das Datenblatt ist sehr schlecht beschrieben
Korrekt, damit habe ich auch gekämpft. Schlußendlich hat mich die 
Initialisierungssequenz von hier 
Beitrag "Problem mit EA-DOGM204 Display" gerettet.

Für I2C wäre es gut zu wissen mit welcher Umgebung (welcher uC, welche 
Sprache) du arbeitest.

von Bernd B. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe Dir mal den funktionierenden Code aus einem meiner Projekte 
angehängt. Für die I2C Kommunikation werden die Bit-Banging Routinen von 
Peter Fleury verwendet.

Gruß,
Bernd

von Simon H. (simon21)


Lesenswert?

Michael R. schrieb:
> Für I2C wäre es gut zu wissen mit welcher Umgebung (welcher uC, welche
> Sprache) du arbeitest.

Ich arbeite mit einem ATMEGA32 und ATMEL Studio mit der Sprache C.

von Simon H. (simon21)


Lesenswert?

Vielen Dank ich werde mich einlesen.

von spess53 (Gast)


Lesenswert?

Hi

>Ich finde das Datenblatt ist sehr schlecht beschrieben,

Da steht eigentlich alles drin was man braucht. Allerdings würde ich mir 
auch das Datenblatt vom Displaycontroller, SSD1803A, besorgen (Webseite 
von EA).

>zudem benutze ich I2C zum ersten mal.

Dann fang erst mal damit an. Zwei Baustellen auf einmal dürfte dich 
überfordern.

MfG Spess

von Simon H. (simon21)


Lesenswert?

Bernd B. schrieb:
> Für die I2C Kommunikation werden die Bit-Banging Routinen von
> Peter Fleury verwendet.

Könntest du diese auch noch teilen?

Gruss Simon

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


von Simon H. (simon21)


Lesenswert?

Vielen Dank für eure Hilfe, das Initialisieren hat geklappt, jedoch bin 
ich nun etwas überfordert und weiss nicht genau wie man einen Text auf 
das Display kriegt. Könnte mir nochmals jemand helfen?

von Curby23523 N. (Gast)


Lesenswert?

Du weißt, dass dieses Display ein Grafikdisplay ist? Du malst Pixel und 
keine Zeichen. Und im Display sind auch keine fertigen zeichen 
abgespeichert. Das heißt, dass du eine Bibliothek brauchst, samt im ROM 
hinterlegten Zeichensatz, damit du dann Schrift "malen" kannst.

Also entweder verwendest du eine fertige Library oder schreibst deine 
eigene.

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

Curby23523 N. schrieb:
> Du weißt, dass dieses Display ein Grafikdisplay ist?

Nein, das ist schon ein Text-LCD

von Bernd B. (Gast)


Lesenswert?

Curby23523 N. schrieb:
> Du weißt, dass dieses Display ein Grafikdisplay ist?

Ist es nicht, es ist ein Textdisplay mit 4x20 Zeichen.

Simon H. schrieb:
> das Initialisieren hat geklappt, jedoch bin
> ich nun etwas überfordert und weiss nicht genau wie man einen Text auf
> das Display kriegt.

Wenn die Initialisierung geklappt hat (woher weißt Du das?), dann 
müsstest Du mit den Funktionen lcd_put_string() oder lcd_put_string_at() 
einen Text ausgeben können.

von Curby23523 N. (Gast)


Lesenswert?

OT: Zu hoch gepokert, ich kriege hier ständig Timeouts bei Google ;). 
Also doch ein Textdisplay.

von Simon H. (simon21)


Lesenswert?

Bernd B. schrieb:
> Wenn die Initialisierung geklappt hat (woher weißt Du das?), dann
> müsstest Du mit den Funktionen lcd_put_string() oder lcd_put_string_at()
> einen Text ausgeben können.

Der Courser wird mir angezeigt, ich habe nicht deinen Code verwendet.

von Karl B. (gustav)


Lesenswert?


: Bearbeitet durch User
von Simon H. (simon21)


Lesenswert?

Danke aber momentan, weiss ich nicht wie ich etwas ans Display ausgeben 
kann.

von Simon H. (simon21)


Lesenswert?

Hier noch das Datenblatt vom Display.

https://www.lcd-module.de/fileadmin/pdf/doma/dogm204.pdf

von Karl B. (gustav)


Lesenswert?

Hi,
das Datenblatt hatte ich mir bei meinen Versuchen auch angeschaut, aber 
vor allem wegen des I2C und nicht wegen der Befehlsfolgen.
Die Befehle sind nicht dieselben, wie bei einem HD44780 Standard.
Die LCD-Init-Libs. für HD44780 können nicht Eins zu Eins übernommen 
werden.

Ab Seite 5 im pdf ist der Befehlssatz erklärt.

ciao
gustav

von spess53 (Gast)


Lesenswert?

Hi

>Danke aber momentan, weiss ich nicht wie ich etwas ans Display ausgeben
>kann.

Einfach mit "Write Data" ein ASCII-Zeichen an das Display senden.

MfG Spess

von Simon H. (simon21)


Angehängte Dateien:

Lesenswert?

Wie werden die Zeichen angeordnet also die Zahlen oben 0-F und die 
Zahlen links 00-F0?

von Manfred (Gast)


Lesenswert?

Simon H. schrieb:
> Wie werden die Zeichen angeordnet

Deine Tabelle ist hexadezimal. Also:

"0" = 0x30
"1" = 0x31
"7" = 0x37
"ß" = 0xBE

von Simon H. (simon21)


Lesenswert?

Ach Logisch, stand ich jetzt auf dem schlauch ;( vielen dank

von Peter D. (peda)


Lesenswert?

Simon H. schrieb:
> Display EA DOGM204-A mit I2C

Das kann sich recht zickig anstellen. Der SDA kann bis zu 1k 
Innenwiderstand haben, d.h. der Pullup sollte nicht <10k sein, sonst 
kann es schwer werden, das ACK zu lesen.

von Dieter F. (Gast)


Lesenswert?

EA ist so nett und stellt Beispiele zur Verfügung:

https://www.lcd-module.de/support/application-note.html

Hier kann man recht gut die Initialisierung "entnehmen" ...

von Simon H. (simon21)


Lesenswert?

Also das mit dem Widerstand hat einiges gebracht und danke für den Tipp 
mit den Beispielen.

Gruss und Besten Dank Simon

von Raf (Gast)


Lesenswert?

Hallo,
in der dogm204w.c steht
#include "avr_i2c.h"
i2c_write_byte(0, 0, 0x06)

dies scheint bei der Library von Peter Fleury nicht vorhanden zu sein.
Kann mir jemand hier weiterhelfen?

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.