Forum: Mikrocontroller und Digitale Elektronik Darstellungsproblem bei Pictivia Atlanta OLED (gr.stufen)


von Dan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe folgendes Darstellungsproblem.

Ich habe ein Pictivia OLED Atlanta (mit Graustufen). Controlleer 
SSD0323.

Jetzt möchte ich einen horizontalen und senkrechten Balken in 
verschiedenen Graustufen darstellen.

Horizontal: Gelb (Graustufe 15)
Senkrecht: dunkelgelb (Graustufe z.B. 3)

Jetzt sehe ich in meinem senkrechten Balken genau an der Stellen wo der 
andere balken dargestellt wird einen Schatten. Das heißt dort sind die 
Pixel dunkler.

Wandert der horizontale Balken nach unten, wandert der Schatten in dem 
anderen Balken mit.

Verwendet man bei beiden Balken ein dunkleres Gelb, verstärkt sich 
dieser Effekt.

Was kann ich machen um dieses Problem zu beheben?? Hat jemand auch schon 
die Erfahrung gesammelt??

von Benedikt K. (benedikt)


Lesenswert?

Das ist normal: Aufgrund der höheren Belastung der Zeile in der viele 
Pixel an sind, entsteht ein Spannungsabfall an den Leitungen. Dadurch 
werden alle Pixel etwas dünkler.

Das Problem gab es schon vor 20 Jahren, und selbst heute noch kämpfen 
die Entwickler an Tricks um sowas möglichst gut zu unterdrücken.

Wirklich gut kompensieren kann man diesen Effekt nicht, man muss einfach 
damit leben.
Die einzige wirklich gute Lösung: Ein TFT OLED.

von Dan (Gast)


Lesenswert?

Aber sollte denn die Belastung nicht geringer werden, wenn die Graustufe 
geringer wird.

Das ulkige ist, wenn beiden Balken komplett gelb sind (Stufe 15), dann 
sind keine Pixel dunkel. Wie ist das zu erklären?

von Thorsten (Gast)


Lesenswert?

Hi,

probier mal folgende Initialiesierung


void init_oled()
{


output_bit(RST,FALSE);
delay_ms(5);
output_bit(RST,TRUE);
delay_ms(100);

// Set Column Address
   send_command(0x15);
   send_command(0x00);
   send_command(0x3F);

// Set Row Address
   send_command(0x75);
   send_command(0x00);
   send_command(0x3F);

// Set Contrast Control
   send_command(0x81);
   send_command(0x6D);

// Set Current Range
   send_command(0x86);

// Set Re-map
   send_command(0xA0);
   send_command(0x52);

// Set Display Start Line
   send_command(0xA1);
   send_command(0x00);
// Set Display Offset
   send_command(0xA2);
   send_command(0x4C);

// Set Display Mode
   send_command(0xA4);

// Set Multiplex ratio
   send_command(0xA8);
   send_command(0x3F);

// Set Phase Length
   send_command(0xB1);
   send_command(0x22);

// Set Precharge
   send_command(0xB0);
   send_command(0x28);

// Set Precharge Level
   send_command(0xB4);
   send_command(0x07);

// Set Row Period
   send_command(0xB2);
   send_command(0x46);

// Set Clock Divide
   send_command(0xB3);
   send_command(0x41);

// Set VSL
   send_command(0xBF);
   send_command(0x0D);

// Set VCOMH
   send_command(0xBE);
   send_command(0x02);

// Set VP
   send_command(0xBC);
   send_command(0x08);

// Set Gray Scale Table
   send_command(0xB8);
   send_command(0x00);
   send_command(0x11);
   send_command(0x22);
   send_command(0x32);
   send_command(0x43);
   send_command(0x54);
   send_command(0x65);
   send_command(0x76);

   delay_ms(100);
   output_bit(OLED_POWER,TRUE);  // 12V für OLED
   delay_ms(100);

// Display ON
   send_command(0xAF);

von Dan (Gast)


Lesenswert?

Hallo Torsten,

vielen Dank für die Einstellungen. Die Schatten muss man sich schon 
vorstellen, wenn man sie sehen möchte.

Hätte nicht gedacht, dass die Einstellungen so positive Auswirkungen 
haben.

Hatte die Einstellung von Osram verwendet und dort auch nachgefragt, 
aber hat alles nichts geholfen.

gruß
Dan

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.