Display EA DIP203J-4NLW mit SSD-1803

Hallo,
mal wieder Display-Probleme…
Ich habe ein ArduinoMega mit Display "EA DIP203J-4NLW", 4x20, 3,3V,
Controller ist ein SSD-1803

Hier der Link zum Display, PDF kommt gleich hoch.

Original Software auf MacOSX
Display richtig angeschlossen

Nun das Problem:
mit lcd.setCursor(0, 0) setze ich den Text an die erste Zeile/Stelle
im Display. Alles gut.

mit lcd.setCursor(2, 0) setze ich den Text an die erste Zeile/2-Stelle
im Display. Aber-
An der ersten Stelle im Display wird jetzt ein "Sonderzeichen" angezeigt.
Dieses Sonderzeichen ist immer da, wenn man den Text nicht an 0,0 setzt,
aber nur in der ersten Zeile.

das zweite:
setzt man mit 0,1 den Text, dann sollte er in der 2.ten Zeile erscheinen-
macht er aber nicht- er kommt in der 3.ten Zeile des Display.

Ich habe die LiquidCrystal-> LiquidCrystal.ccp einmal geöffnet...

void LiquidCrystal::setCursor(uint8_t col, uint8_t row)
{
int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };
if ( row >= _numlines ) {
row = _numlines-1; // we count rows starting w/0
}

command(LCD_SETDDRAMADDR | (col + row_offsets[row]));

und die HEX-Werte geändert- bringt mir aber nichts.
Gibt es einen Trick oder noch eine Schraube, an der ich drehen kann?

Das ist das Leichte gewesen…
4x20 Display die einen originalen HD44780 OnBoard haben, laufen die mit der
originalen Soltware- oder gibt es mit Display´s generell nur Probleme?
Vielen Dank für eure Hilfe
Andreas

Der Verkäufe sagt:

Die Ansteuerung erfolgt über einen eingebauten Kontroller des Typs SSD1803, der zu 90 Prozent mit dem verbreiteten Kontrollertyp HD44780 kompatibel ist.

Jetzt wäre es wichtig zu erfahren was die 10% Inkompatibilitäten sind.

Was mir zuerst auffällt sind die 3,3V Spannungsversorgung. HD44780 Module sind fast Aunahmlos für 5V (wegen des Kontrastes des Displays; der HD könnte uch mit 3,3V klarkommen).
Das SSD1803 Modul hat einen RESET-Eingang.

Grüße Uwe

Hallo,
die 10% werde ich nicht finden, dazu bin ich in "C" noch nicht gut
genug. Und das InnenLeben eines Display kenne ich überhaupt nicht.

Jetzt habe ich ein 4x16, Controller KS006

Der sollte mit der <LiquidCrystal.h> kompatibel sein- oder umgekehrt.
Ist es aber nicht…

(0, 0) alles gut
(0, 1) alles gut
(0, 2) wird an (4,2) gesetzt
(0, 3) wird an (4,3) gesetzt

Was für einen Spruch muss ich denn aufsagen, um ein 4-zeiliges Display
mit original Software zu betreiben?

Hier noch mal ein Zitat eines "großen" Display-Versender
Zitat:
leider muss ich Ihnen mitteilen, dass es den HD44780 im Original
schon seit langem nicht mehr gitb, d.h. es existieren nur noch sog.
kompatible Controller.
Insoweit müssen Sie wohl damit in jedem Fall auskommen.
Da letztendlich der gesamte Markt mit den komatiblen Controllern so gut
wie keine Probleme hat, gehe ich davon aus, dass es sich bei Ihnen um
ein internes Ansteuerproblem handel.

gleichzeitig hatte ich dort auch nach einem Display für den Arduino
gefragt.
"Ich möchte ein Display mit 4x20 das mit der original Software
des Arduino läuft"
Da habe ich keine Antwort drauf bekommen… nur das Zitat

Hier das PDF vom 4x16, Controller KS006
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/181670-da-01-en-LCD_MODUL_STN_POSITIV_LED_WEISS_16X4.pdf
Gruß und Spaß
Andreas

Du hast eigentlich schon die richtige Stelle gefunden. Sowie ich das sehe sollte sich das hinbiegen lassen wenn man die Offets anpasst. Hast du mal 0x00, 0x40, 0x10, 0x50 probiert? Oder 0x00, 0x20, 0x40, 0x60 was laut dem Datenblatt korrekt wäre:
http://www.lcd-module.de/fileadmin/eng/pdf/zubehoer/ssd1803_2.0.pdf

Bei den 4-Zeilen HD44780 ist es auch so, dass Zeile 1+3 und Zeile 2+4 zusammengehören. Wenn man dann 21 Zeichen in die erste Zeile schreibt geht in Zeile 3 weiter.

Hallo,
Display 4x20,
die Formatierung der Zeilen läuft mit-

-----------int row_offsets[] = { 0x00, 0x14, 0x40, 0x54 };

original = int row_offsets[] = { 0x00, 0x40, 0x14, 0x54 };

die anderen Adressen laufen völlig aus dem Ruder.
Aber-
setze ich (1, 0) dann habe ich bei (0, 0) ein Sonderzeichen.
Mir fällt da nichts mehr zu ein- 25,00.- Leergeld
Gruß und Dank
Andreas

Ich glaube zu dem display gabs im englischen teil vor langer zeit eine lösung. Musst mal das forum durchsuchen.

http://forum.arduino.cc/index.php?topic=72256.0
http://forum.arduino.cc/index.php/topic,29919.0.html
http://forum.arduino.cc/index.php?topic=29920.0