Hallo Forum,
ich habe das folgende Touch-Screen TFT mit einem Arduino Atmega2560
China-Clone in Betrieb genommen :
https://www.ebay.de/itm/MagiDeal-320X480-TFT-LCD-Schild-Buchse-Touch-Panel-Modul-3-5-f%C3%BCr-Arduino/162789112503?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649
Der Controller ist ein ILI-9486 und die Schnittstelle zum Atmega ist im
Display hardwareseitig fest auf 8-Bit parallel eingestellt.
Open-Source-Bibliotheken (z.B. die Arduino GFX-nahen Codes) habe ich
leider nicht zum Laufen gebracht. Scheinbar ist der 8-bit-parallel-Mode
nicht so gebräuchlich ? Somit habe ich auf der Basis eine eigene kleine
Bibliothek erstellt, die soweit gut funktioniert. Das Display lässt sich
initialisieren, Pixel beschreiben usw. Hinweis : Ich nutze hier keine
Arduino-SW-Umgebung, sondern nur die Hardware. Der Code ist also
"Arduino-befreit" und referenziert ausschließlich avr-libc.
Nun zu meinem Problem : Das Beschreiben der Brightness-Register hat
keinen Effekt :
1 | LCD_WRITE_CAB_CTRL_VALUE( 0x00 ); /* Reg. 0x55 */
|
2 | LCD_WRITE_CTRL_DISPLAY_VALUE( _BV(5) ); /* Reg. 0x53 */
|
3 | for ( jdx = 0 ; jdx < 20 ; jdx++ ) {
|
4 | LCD_WRITE_DISPLAY_BRIGHTNESS_VALUE( 0xff ); /* Reg. 0x51 */
|
5 | _delay_ms( 1000 );
|
6 | LCD_WRITE_DISPLAY_BRIGHTNESS_VALUE( 0 );
|
7 | _delay_ms( 1000 );
|
8 | }
|
Der erste Schritt soll sicherstellen, daß die automatische
Contents-Adaptive-Brightness-Control abgeschaltet ist. Der zweite
Schritt soll die Helligkeitssteuer-Einheit einschalten. Der Rest
schaltet die Helligkeitswerte zwischen Max und Min. Ich hatte hier auch
schon Zwischenwerte genutzt bzw. den Wertebereich kontinuierlich
durchgefahren.
Ich würde erwarten, dass die Helligkeit zwischen Maximal- und
Minimal-Helligkeit im Sekundentakt "springt". Es ist aber keinerlei
Veränderung sichtbar. Als "Testbild" habe ich einen roten Farbkeil von
Schwarz nach Rot dargestellt, mit dem Helligkeits-Veränderungen m.E. auf
jeden Fall sichtbar sein sollten. Auch hatte ich schon einige
Kombinationen der Control-Werte zur manuellen und inhalts-adaptiven
Helligkeitssteuerung getestet, aber alle ohne sichtbare Wirkung. Das
Datenblatt schweigt sich über die korrekte Nutzung der (manuellen)
Helligkeitssteuerung reichlich aus.
Zusatzinfo : Das Display ist selbstverständlich ON, im NORMAL Mode (also
nicht IDLE) und auch sonst weitestgehend im Initalzustand nach Reset.
Auch die Schleife wird wirklich durchlaufen - ich hatte darin schon
Testausgaben eingebaut.
Ein Effekt ist mir allerdings noch aufgefallen der evtl. mit der
Helligkeitssteuerung in Verbindung steht: bei meinem Testbild ist ein
Teilbalken "Schwarz", schimmert aber leicht hell. Schalte ich den Mode
auf IDLE, dann wird dieser und die anderen durch die Reduktion der
Farbtiefe im IDLE-Mode zu "Schwarz" konvertierten Balken "wirklich"
Schwarz ?
Hat jemand die Helligkeitssteuerung des ILI 9486 schon erfolgreich
genutzt ? Im Netz konnte ich bisher ausschließlich ein "Preliminary
Datasheet" finden. Zwar recht umfangreich, aber doch mit einigen
offensichtlichen Copy-Paste-Fehlern. Deshalb befürchte ich, daß das
Datenblatt schlicht unvollständig sein könnte und damit evtl. der
entscheidende Hinweis dort verborgen bleibt.
Bin für jeden Tip dankbar.
Ciao
André