Forum: Mikrocontroller und Digitale Elektronik 320x480 Display an Arduino


von Di N. (ducis)


Lesenswert?

Hallo,
ich komme leider mit meiner Arduinoprogrammierung nicht weiter.

Die Basis ist dieses Set:
https://de.aliexpress.com/item/32680872630.html?spm=a2g0s.9042311.0.0.ea6e4c4dcZM9Sd

Das Display ist 320x480, 8bit, Driver: ILI9486, kein Touch

Ich dachte es ist kein Problem eine brauchbare Lib fürs Display zu 
finden wenns ein ILI9486 ist. Leider weit gefehlt.

Die gängigen Libraries ucglib und Waveshare funktionieren nicht, da sie 
nur SPI unterstützen.

LCDWIKI funktioniert.
http://www.lcdwiki.com/3.5inch_Arduino_Display-UNO

Die Beispiele laufen, aber ich finde keine Erklärungen zur Syntax für 
die Parameterübergabe (  mylcd.Print_Number_Int(0xDEADBEF, 0, 24, 0, ' 
', 16); )

Habt ihr evtl. einen Link wo die LCD Befehle erläutert werden? Oder eine 
andere Lib, die ordentlich beschrieben ist.

Vielen Dank und Grüße
ducis

von Bernd (Gast)


Lesenswert?

Di N. schrieb:
> Die gängigen Libraries ucglib und Waveshare funktionieren nicht, da sie
> nur SPI unterstützen.
Welchen Anschluß hast Du denn?
Im Prinzip ist es möglich die Bibliotheken auf Parallel-Mode 
umzuschreiben. Meist sind dafür nur die grundlegenden IO-Funktionen 
anzupassen.

von Arduinoquäler (Gast)


Lesenswert?

Di N. schrieb:
> Ich dachte es ist kein Problem eine brauchbare Lib fürs Display zu
> finden wenns ein ILI9486 ist. Leider weit gefehlt.

Hier habe ich damit gespielt:

Beitrag "LCD 480x320 mit wenig Aufwand zum Anbinden"

Das Display müsste ziemlich genau so reagieren wie deines,
das wäre dann ein ILI9488.

Di N. schrieb:
> Die Basis ist dieses Set:

Das sieht man nur wenn du deine Login-Daten mit angibst.
Die willst du uns sicherlich auch noch nennen, gell?

von Di N. (ducis)


Lesenswert?

8 bit parallel.

Umschreiben. Na ja. Ich habs aufgegeben, mich in umfangreiche Programme 
von anderen einzuarbeiten. Zu viele Fallstricke.

Bei ucglib muss man zb. am Anfang der Lib die passende Zeile 
ausdokumentieren um es auf das richtige Display einzustellen. Da gibts 
für den ILI94876 nur HW und SW SPI.

von Di N. (ducis)


Lesenswert?

> Das sieht man nur wenn du deine Login-Daten mit angibst.
> Die willst du uns sicherlich auch noch nennen, gell?

Sorry. Sucht mal bei Ali nach "LCD modul 3,5 zoll TFT LCD bildschirm 3,5 
"+ Mega 2560 R3 Mega2560 REV3 Board für Arduino"

kostet 13,26€


>Beitrag "LCD 480x320 mit wenig Aufwand zum Anbinden"

>Das Display müsste ziemlich genau so reagieren wie deines,
>das wäre dann ein ILI9488.

leider nicht. Du hast das rote mit SPI.

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Di N. schrieb:
> leider nicht. Du hast das rote mit SPI.

Du irrst!

Bevor du solche Schnellschüsse machst: Lies meine Beiträge.

von Arduinoquäler (Gast)


Lesenswert?

Di N. schrieb:
> Du hast das rote mit SPI.

Übrigens ... heisser Tip für Arduino-Anfänger:

Es kommt nicht auf die Farbe an für das was drin ist.

von Di N. (ducis)


Lesenswert?

OK. schönes Projekt.
Ich möchte nicht so viel Hardware bauen, sondern eher das eigentliche 
Projekt erledigen.

Für den ILI9488 finde ich gar keine Libs.

von Arduinoquäler (Gast)


Lesenswert?

Di N. schrieb:
> Die gängigen Libraries ucglib und Waveshare funktionieren nicht, da sie
> nur SPI unterstützen.

Für diese Aussage habe ich jetzt nichts überprüft und glaube
es auch nicht aber dafür

Di N. schrieb:
> Für den ILI9488 finde ich gar keine Libs.

irrst du dich schon wieder. In dieser Lib

https://www.arduinolibraries.info/libraries/u8glib

ist sowohl Parallel-Support vorhanden als auch Support
für eben diese Displays mit 8-Bit-Schnittstelle.

Also weiterhin frohes Irren.

von Di N. (ducis)


Lesenswert?

Arduinoquäler schrieb:
> https://www.arduinolibraries.info/libraries/u8glib
>
> ist sowohl Parallel-Support vorhanden als auch Support
> für eben diese Displays mit 8-Bit-Schnittstelle.

Supported display controller: SSD1306, SSD1309, SSD1322, SSD1325, 
SSD1327, SH1106, UC1601, UC1610, UC1611, UC1701, ST7565, ST7920, KS0108, 
LC7981, PCD8544, PCF8812, SBN1661, TLS8204, T6963.

ILI9488??? ich sehe nichts davon

von Arduinoquäler (Gast)


Lesenswert?


von Joachim B. (jar)


Lesenswert?

Waveshare ILI9486

Waveshare ILI9486 SPI driver for Arduino
Author    Waveshare Maintainer     Calvin HassWebsite
    https://github.com/ImpulseAdventure/Waveshare_ILI9486
Category Display License
MIT Library Type   Contributed Architectures    Any
https://www.arduinolibraries.info/libraries/waveshare-ili9486

https://forum.arduino.cc/index.php?topic=554527.0
https://github.com/schreibfaul1/ESP32-TFT-Library-ILI9486

man findet schon eine Menge, aber allen Links folge ich nun nicht!

: Bearbeitet durch User
von Di N. (ducis)


Lesenswert?

Also ich bringe es nochmal auf den Punkt:
 Waveshare funktioniert nicht
 UCGlib auch nicht

LCDWIKI (Das ist das was der Distributor auch anbietet) funktioniert, 
ist aber nicht dokumentiert. Wenn man Strings, Variablen, Kreise etc. 
aufs Dispaly bringen will, muss man sich durch die Beispiele arbeiten. 
Eine Erklärung für eine Syntax (z.B.
mylcd.Print_Number_Float(01234.56789, 2, 0, 56, '.', 0, ' ');
)
habe ich noch nicht gefunden. Wenn die einer hat, bitte melden.

Ich suche also die Beschreibung für die Lib LCDWIKI.
Oder eine andere Lib, welche dokumentiert ist. (UCGLIB ist Top 
dokumentiert, funktioniert aber nicht)

Viele Grüße
ducis

von Walter T. (nicolas)


Lesenswert?

Die Adafruit-Library funktioniert mit dem 9488 (parallel). 
Wahrscheinlich auch mit dem 9486. Eventuell ist das Bild verdreht.

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Di N. schrieb:
> Ich suche also die Beschreibung für die Lib LCDWIKI

Wo hast Du denn gesucht?

https://github.com/lcdwiki/LCDWIKI_gui

Unter "Document" gibt es die Beschreibung.

von Hugo H. (hugohurtig1)


Lesenswert?

Di N. schrieb:
> LCDWIKI (Das ist das was der Distributor auch anbietet) funktioniert,
> ist aber nicht dokumentiert

Lesen bildet:

LCDWIKI GUI lib Manual.pdf (im Ordner 
3.5inch_Arduino_8BIT_Module_ILI9486_MAR3501_V1.1.zip\3.5inch_Arduino_8BI 
T_Module_ILI9486_MAR3501_V1.1\1-Demo\Demo_Arduino\Install 
libraries\LCDWIKI_GUI\Document\)

von Di N. (ducis)


Lesenswert?

Da wird nur das Board beschrieben. Nichts von der Library.

von pegel (Gast)


Lesenswert?

Du willst nicht, oder?

von Di N. (ducis)


Lesenswert?

Suche eine Doku für z.b. diese Zeile

mylcd.Print_Number_Float(01234.56789, 2, 0, 56, '.', 0, ' ')

Erklärung der Übergabeparameter.....

von pegel (Gast)


Lesenswert?


von Hugo H. (hugohurtig1)


Lesenswert?

Di N. schrieb:
> Da wird nur das Board beschrieben. Nichts von der Library.

Dödel :-) - kannst wohl kein Englisch?

von fgd (Gast)


Lesenswert?

das leid der arduinogeplagten ...

alle anderen hätten das Datenblatt genommen und eine
bekannte gängige lib genommen und das ding zu laufen gebracht...

vieleicht sogar in bedeutend weniger Zeit in der TO libs gesucht, 
probiert , und hier geschrieben hätte

von Joachim B. (jar)


Lesenswert?

fgd schrieb:
> das leid der arduinogeplagten ...

der Arduino plagt einen doch nicht, nicht mal mit Vogelfutter auflöten, 
nehmen und verwenden, Dank ISP geht sogar AVR Studio 4.18
Ich bin aber froh das ich nicht mehr so viel Löten muss :) und das 
C-Routinen aus den AVR Studio auch auf dem Arduino laufen.

von Di N. (ducis)


Lesenswert?

Jep, die Datei habe ich gesucht. Danke Pegel.



In der RAR-Datei mit der Library ist sie leider nicht dabei. Aber jetzt 
habe ich alles...
Daumen hoch

von Karl M. (Gast)


Lesenswert?

Joachim B. schrieb:
> und das C-Routinen aus den AVR Studio auch auf dem Arduino laufen.

Das führt zu Verwirrungen!


AVR Studio und Arduino sind kein Compiler nur eine Oberfläche für den 
AVR GCC bzw. dem C, C++ Version.

von Joachim B. (jar)


Lesenswert?

Karl M. schrieb:
> Das führt zu Verwirrungen!

bei wem?

nicht beim GCC nur bei mir :)

von Hugo H. (hugohurtig1)


Lesenswert?

Di N. schrieb:
> In der RAR-Datei mit der Library ist sie leider nicht dabei.

In Deinem Link

http://www.lcdwiki.com/3.5inch_Arduino_Display-UNO

ist die ZIP-Datei mit der Library (ZIP nicht RAR) verlinkt, in welcher 
die Dokumentation

LCDWIKI GUI lib Manual.pdf

enthalten. Also schwätz nicht rum :-)

: Bearbeitet durch User
von Andreas S. (Gast)


Lesenswert?

Suche mal nach KBV Library - wenn ich mich dunkel erinnere
konnte ich damit auch meine Display zum Leben erwecken.
Zum Beispiel hier :

https://github.com/prenticedavid/MCUFRIEND_kbv

von Arduinoquäler (Gast)


Angehängte Dateien:

Lesenswert?

Falls "man" Zwefel hat ob das Display funktioniert, hier
eine kleine Hilfestellung.

Testprogramme für Arduino Uno und Mega und dem 8-Bit ILI9488
(3.5 Zoll  320x480) Display.

von Arduinoquäler (Gast)


Angehängte Dateien:

Lesenswert?

Arduinoquäler schrieb:
> Zwefel

--> Zweifel

Anbei noch der Startbildschirm, das Auslesen der Controller ID
funktioniert bei meinem Display nicht. YMMV.

von pegel (Gast)


Lesenswert?

Arduinoquäler schrieb:
> (bei: More information: >>>>Click here<<<<)

Da ist meinst noch viel mehr interessantes drin.

Ich hatte so etwas mal für den SSD1289 gefunden.
Darin war ein Erkennung- und Testprogramm für sehr viele der gängigen 
Displays dabei.

von AVR Schutzverein (Gast)


Lesenswert?

Was ihr da treibt grenzt an vorsätzlicher AVR Quälerei;-)

Solche Displays betreibt man am besten mit Systemen mit Graphics 
Controller Ressourcen wie der LPC1788 oder STM32F429 und was es in der 
Klasse sonst noch gibt.

Über Textausgabe hinaus ist die Leistung eines AVRs nicht wirklich für 
solche Anzeigen ausreichend. Auch kann man die Pixel nicht intern 
puffern. Kein DMA. Man könnte noch mehr schwarz malen - es sollte 
reichen die Grenzen des praktisch möglichen zu erkennen. Auch ist nicht 
viel Platz für den Schriftsatz da und außer beim Mega die Ressourcen 
massiv aufgebraucht um wenig Platz für die eigentliche Anwendung zu 
lassen. Wenn schon, dann wenigstens nur ein Monochrom 128x64 Pixel 
Display. Sogar das ist für einen AVR Klasse uC fast schlimm genug.

Die einzige Ausnahme wäre so ein LCD mit einem API Controller. Dann 
würde man nur noch Kommandos zum Display senden müssen. Schriftsatz muß 
auch nicht aufgebracht werden. Nur kostet so ein Display beträchtlich 
mehr.

Ich spreche aus Erfahrung. Wir mßten auch mal einen Labortestgerät mit 
MEGA2560 und so einem TS Display aus dem Boden zaubern. Kurz und gut, 
die Anwendung lief - aber die Displayzügigkeit spottete trotz 
Verbesserungsversuche aller Beschreibung. Außer in der Firma intern 
dürfte man solche leistung nicht vorzeigen. Mit SPI und AVR sind da auch 
klare Grenzen gesetzt.

Ja. Zum Laufen werdet ihr es bestimmt kriegen. Aber glücklich damit sein 
- kaum! Es ist in meinen Augen wirklich eine AVR und Entwickler 
Quälerei.

Mein (gut gemeinter) Rat wäre, die Konsequenzen schon jetzt zu ziehen 
und trotz größeren Lernaufwand es mit besser geeigneter HW zu versuchen. 
Das Endergebnis wird dann auch dementsprechend sein. Gerade im Zeitalter 
von agil reagierenden Handies und ähnlichen Geräten ist die Leistung so 
eines Systems mehr als fragwürdig.

Ich möchte Euch wirklich nicht beleidigen oder geringschätzen - aber so 
sehe ich es. Ist der Zeitaufwand es wirklich wert um dann doch nur 
akzeptieren zu müssen, daß die Leistung und Möglichkeiten einfach nicht 
ausreichen?

von pegel (Gast)


Lesenswert?

Den Meisten dürfte das klar sein.

Aber wenn es jemand gern möchte?

Haben wir nicht alle so angefangen und die Grenzen selbst heraus 
gefunden?

von AVR Schutzverein (Gast)


Lesenswert?

pegel schrieb:
> Den Meisten dürfte das klar sein.
>
> Aber wenn es jemand gern möchte?
>
> Haben wir nicht alle so angefangen und die Grenzen selbst heraus
> gefunden?

Hast ja recht. Mir ging es damals auch nicht anders. Ich geringschätzige 
seine Arbeit und Herausforderungen ja auch nicht, nur weiß ich eben 
besser aus eigener Erfahrung.

von chris (Gast)


Lesenswert?


von Johannes S. (Gast)


Lesenswert?

AVR Schutzverein schrieb im Beitrag #6098895:
> Was ihr da treibt grenzt an vorsätzlicher AVR Quälerei;-)

Haha, W.S., nimm die Maske ab :)

Ich möchte dem aber auch zustimmen. Zum Lernen ist die 
Displayansteuerung mit AVR vielleicht erstmal einfacher, aber wenn man 
es kapiert hat ist das Ende der Fahnenstange schnell erreicht.
In der 4ma haben wir moderne Kaffeautomaten mit Farbdisplay. Da läuft 
dann im Leerlauf eine Slideshow mit glücklichen, kaffeetrinkenden 
Menschen. Aber die Bildwechsel laufen mit der Geschwindigkeit eines 300 
Baud Lorenz TTY, fehlt nur noch das Piepsen dabei wie in Filmen wenn ein 
Computer eine Ausgabe macht :) Ich denke da immer wie peinlich, da wird 
wohl ein alter Programmierguru des Herstellers an seinem 8-Bitter 
festgehalten haben.
Wenn das ausreichend ist oder simple statische Buttons als GUI reichen 
dann ist ein AVR ok. Aber wer mal mehr und schönere Darstellungen haben 
möchte dem würde ich auch 32 Bitter und z.B. lvGL https://littlevgl.com 
empfehlen. Für die Adaptierung muss man nur eine Routine anpassen die 
einen Speicherbereich in den Controller schaufelt. Da hat sich jemand 
über Jahre viel Mühe gemacht, das Projekt finde ich großartig.

Und zum Auslesen der Controller ID oder automatische Erkennung: 
funktioniert nur wenn das Display auch ausgelesen werden kann. Durch die 
5V kompatibiltät in der Arduino Welt sind in parallen Ansteuerungen 
häufig unidirektionale Levelshifter drin, da ist das Auslesen dann HW 
seitig schon gar nicht möglich.

von Kurt M. (kurt1975)


Lesenswert?

Servus!

Ich hätte eine Frage bezüglich der Library Waveshare. In dieser Library 
gibt es eine Datei mit dem Namen LCD_Driver.cpp, ich habe diese mit dem 
Datenblatt für den ili9486 studiert um sie besser zuverstehen.

Jetzt steht in der Datei LCD_Driver:

static void LCD_InitReg(void)
{
    LCD_WriteReg(0XF9);
    LCD_WriteData(0x00);
    LCD_WriteData(0x08);

Jetzt suche ich seit Tagen in dem Datenblatt das Register 0xf9 und finde 
es nicht. Vielleicht kann mir jemand helfen und ich habe nur etwas 
übersehe. Ich hoffe die Informationen reichen.

Vielen Dank

Kurt

von Philipp K. (philipp_k59)


Lesenswert?

320x480 ist meist der ili9488, dort gibt es dieses Register..

Falsches Init?

von Kurt M. (kurt1975)


Lesenswert?

Danke Philipp, für deine schnelle Antwort.

Ich stehe zur Zeit auf der Leitung und sehe andscheinend vor  lauter 
Bäume den Wald nicht.

Philipp K. schrieb:
> Falsches Init?

Warscheinlich falsch angegebener Controller ich hoffe das ich ihn 
auslesen kann und das mir dann ein Licht auf geht.


Kurt

von W.S. (Gast)


Lesenswert?

Johannes S. schrieb:
> Haha, W.S., nimm die Maske ab :)

Nein, DAS bin ich nicht gewesen.

Aber im Grunde stimme ich dem bei: Es mag zwar eine sportliche 
Herausforderung sein, ein zu großes Display mit einem zu kleinen µC 
anzusteuern, genauso wie das Überqueren des Ärmelkanals mit ner 
Gummiente, aber es ist unvernünftig. Schließlich will man zum Schluß ein 
Sastem haben, das irgendwelche Nutzleistungen vollbringen kann und nicht 
zu 99.5% mit sich selbst ausgelastet ist.

W.S.

von Jo mei (Gast)


Lesenswert?

Kurt M. schrieb:
> Vielleicht kann mir jemand helfen und ich habe nur etwas
> übersehe. Ich hoffe die Informationen reichen.

Daran wird es nicht scheitern. Kann sein dass es die Chinesen
vergessen haben zu dokumentieren, kann sein dass es das
Register nur beim einen gibt und beim anderen nicht. Ist
jedenfalls nicht kriegsentscheidend für die Funktionalität.
Wenn man ein Register beschreibt das es nicht gibt wird nichts
passieren.
Auch sind ILI9488 und ILI9486 sind kaum zu unterscheiden,
laufen beide mit dem gleichen Code.

von Thomas B. (ewi)


Lesenswert?

Hallo Kurt,

diese 0xFx Register sind Teil des Extended Register Command Sets ab 
0xB0. In den Application Notes zum ILI9486 (Preliminary V0.6, 
16.08.2011, https://www.jameco.com/Jameco/Products/ProdDS/2278271.pdf ) 
stellt Ilitek den Initialisierungscode für drei verschiedene 
Displaypanels zur Verfügung. Dort werden diese 0xFx Register teilweise 
gesetzt, aber leider auch nicht näher beschrieben. Durch Vergleich mit 
Datenblättern für andere Displaycontroller von Ilitek, in denen die 0xFx 
Register teilweise beschrieben sind, lassen sich weitere Rückschlüsse 
ziehen.
Es ist Aufgabe des Shield Herstellers für seine Kombination aus 
Displaypanel und ILI9486 Displaycontroller den passenden 
Initialisierungscode zur Verfügung zu stellen, was Waveshare für seine 
Arduino TFT-Touch-Shields mit 3.5" und 4" Displays und ILI9486 gemacht 
hat.

Weitere Hinweise liefert z.B. das ILI9341 Datenblatt V1.11, Seite 11:

Eingangssignal "EXTC = Extended command set enable.
Low: extended command set is discarded.
High: extended command set is accepted.

Please connect EXTC to VDDI to read/write extended registers
(RB0h~RCFh, RE0h~RFFh)"

Zumindest beim ILI9341 steht das Extended Command Set nur zur Verfügung, 
wenn das EXTC Eingangssignal gesetzt ist. Beim ILI9486 taucht der Name 
EXTC im ganzen Dokument allerdings nur einmal auf, als ob es beim 
Copy-Paste vergessen worden wäre, oder aber diese Info im Preliminary 
V0.01 Datenblatt schlicht noch nicht eingepflegt worden ist.

und Seite 87:

"Note 1: Undefined commands are treated as NOP (00h) command.
 Note 2: B0 to D9 and DE to FF are for factory use of display supplier. 
USER can decide if these commands are
available or they are treated as NOP (00h) commands before shipping to 
USER. Default value is NOP"

Man kann annehmen, dass das auch beim ILI9486 so ist, auch wenn diese 
Fußnoten im dortigen Datenblatt V0.01 oder im Datenblatt ILI9486L V0.06 
fehlen. Mit USER wäre dann Waveshare als Kunde von Ilitek gemeint.

Nach meinen eigenen Versuchen mit diesen Waveshare Shields, kann man 
diese 0xFx Befehle auch komplett weglassen und es zeigt sich keine 
sichtbare Änderung im Display. Ich hab die Befehle bei der Übernahme in 
meinen eigenen Code einfach dringelassen und einen kleinen Kommentar 
eingefügt, damit ich mich nicht wieder wundere, falls ich mir das nach 
Jahren wieder anschauen muss. Inzwischen habe ich die Shields aber nicht 
mehr, da Waveshare in der ersten Charge die Pegelwandler "vergessen" hat 
und somit die beworbene Kompatibilität mit 5V und 3,3V Arduinos nicht 
gegeben war.

Thomas

von Kurt M. (kurt1975)


Lesenswert?

Servus Thomas!

Danke für diesen Link,ich habe schon einige Datenblätter durchgesehen 
aber dieses Datenblatt kam mir noch nicht unter und das du dir die Zeit 
genommen hast wichtige Informationen zu erläutern. Was mir in letzter 
Zeit auffällt, dass die Dokumentation von Microkontrollern in Foren 
besser Funktioniert.

Ich glaube mein Shield hat einen Defekt, da es selbst am Uno nur 
Leuchtet und egal welche Bibliothek ich verwende, nicht einmal ein Pixel 
zeichnet oder Resetet. Ich wollte mir die Biblithek an den Arduino MKR 
nb 1500 anpassen, da es für die MKR Serie noch sehr wenig gibt.

Kurt

von Arduinoquäler (Gast)


Lesenswert?

Kurt M. schrieb:
> Ich glaube mein Shield hat einen Defekt,

Genau für solche Fehl-Vermutungen habe ich auch dieses
Testprogramm bereitgestellt.

Beitrag "Re: 320x480 Display an Arduino"

Zu schwierig den ganzen Thread zu lesen, wa?

von Kurt M. (kurt1975)


Lesenswert?

Servus Arduinoquäler!

Arduinoquäler schrieb:
> Zu schwierig den ganzen Thread zu lesen, wa?

Diesen Überheblichen Ton kannst du dir gleich als Antwort bei mir 
verkneifen, dein Dreck stinkt genauso wie meiner und jeder andere.

Ich habe mir heute für einen Test einen UNO ausgeborgt, da ich einige 
samd32g18 mit Sara-R410M (MKR nb 1500) rumliegen und für diese hast du 
andscheinend auch einen Thread bereit gestellt? Wenn es zu anstrengend 
und aufwühlend für dich ist andern zu helfen, dann lass es und du musst 
dich nicht Ärgern weil jemand deinen Goldenen Thread nicht gleich 
wahrgenommen hat.

Ich bin schon länger Mitglied im Forum und genau wegen solchen 
Forenteilnehmern wie du einer bist habe ich mir bis jetzt jegliche Frage 
hier verkniffen und oft mehr Stunden mit Recherche verbracht als 
vielleicht notwendig, weil oft sieht man etwas nicht, auch wenn es noch 
so Offensichtlich ist wie deinen Thread.

Da ich Temperatur und Chemieüberwachungssteuerungen für Dosieranlagen in 
der Gastronomie programmiere und das einzige Display das einem 
zuverfügung steht, der Monitor des Laptop ist den man anteckt und auch 
privat nicht die Notwendigkeit bestand Displays zu programmieren habe 
ich mich damit nicht beschäftigt.

Ich wünsche dir viel Erfolg bei deinen weiteren Projekten und dass du 
nie etwas übersiehst das dein Projekt vorantreiben könnte.

Kurt

von Bernd (Gast)


Lesenswert?

Kurt M. schrieb:
> Ich glaube mein Shield hat einen Defekt,
Das habe ich früher auch oft geglaubt, nur um dann festzustellen, das 
Hardware ziemlich robust ist und das Problem oft an einer anderer Stelle 
saß.

Andererseits, hast Du mal geschaut, ob die verwendete Hardware die 
gleiche Versorgungsspannung nutzt, bzw. ob im Display ggf. Pegelwandler 
verbaut sind?

> da es selbst am Uno nur Leuchtet
Schön. Offenbar funktioniert die Hintergrundbeleuchtung. Die ist auch 
nicht auf die Initialisierung des Displaycontrollers oder einen 
programmierten Arduino angewiesen...

> und egal welche Bibliothek ich verwende, nicht einmal ein Pixel
> zeichnet
Hast Du in die Bibliotheken mal reingeschaut? Oder nur wild 
durchprobiert? Oft muß man sich den Constructor genau anschauen, weil 
dort diverse Dinge konfiguriert werden müssen bzw. können.
Es wäre übrigens schlau gewesen, die verwendeten Bibliotheken hier zu 
nennen.

> oder Resetet
Wie hast Du das festgestellt? Die Grafikdisplays, die ich bisher in der 
Mache hatte, zeigten nach einem richtigen Reset nur ein Verhalten: die 
Reaktion auf Kommandos. Am Bildinhalt ändert sich mit Reset in den 
seltesten Fällen was.

von Kurt M. (kurt1975)


Lesenswert?

Servus Bernd!

Bernd schrieb:
> bzw. ob im Display ggf. Pegelwandler
> verbaut sind?

Das habe ich kontrolliert er ist verbaut. Durch das sim800 Shield mit 
seinen 2A Spitzen habe ich mir die Kontrolle der Spanung und 
Stromversorgung angewöhnt.

Bernd schrieb:
> Hast Du in die Bibliotheken mal reingeschaut?

Ich verwende keine Bibliotheken die ich nicht verstandenhabe, sonst 
bringt auch der Test nichts. Dehalb habe ich auch oben nach dem 
Rätselhaften 0xf9 Register gefragt. Ich weiß wie es ist wenn jemand 
Bibliotheken verwendet die er nicht versteht und nicht weiß was der 
Microkontroller eigentlich macht der machen soll.

Bernd schrieb:
> die
> Reaktion auf Kommandos.

Das weiß ich, deshalb habe ich eine Resetkontrolle mit einem zweiten 
kontroller gemacht. Der Microkontroller kontrolliert die 
Versorgungsspannung mit einem auf 1 gelegten Pin, wechstelt der Pin auf 
0 und ist die Versorgungsspannung 1, kann von einem Reset ausgegangen 
werden und der Microkontroller wechselt die Textausgabe von "Hallo Welt" 
auf "Hallo Kurt".

Trotzdem Danke für deine Ansätze.

Kurt

von Thomas B. (ewi)


Lesenswert?

Hallo Kurt,

welches Shield willst du eigentlich in Betrieb nehmen? Du hast bisher 
nur geschrieben, dass du die Waveshare Library für den ILI9486 verwenden 
willst. Die ist für die Waveshare TFT-Touch-Shields mit 3.5" Display und 
4" Display geschrieben. Bei meinen Versuchen mit der ersten Charge 
dieser Displays, die noch keine Pegelwandler und keinen Pin für die 
Kontrolle des Backlights besaßen, hat das 4" Display nur funktioniert, 
wenn es separat mit Strom versorgt wurde. Sonst hat der UNO zyklische 
Resets gemacht. Der Spannungsregler auf einem UNO ist zu schwach 
dimensioniert und kann den für das große Display benötigten Strom nicht 
liefern. Mit den späteren Chargen kann das vielleicht funktionieren, 
wenn man das Backlight dimmt.

Die erste Charge des Waveshare 3.2" TFT-Touch-Displays mit ILI9341 hatte 
auch keine Pegelwandler. Da auch dieses Shield als 5V und 3,3V 
kompatibel beworben wurde und ich das Shield zuerst nicht genauer unter 
die Lupe genommen hatte, hab ich das an Arduino UNO und MEGA R3 mit 5V 
Pegeln gehängt. Für mich hat das Display da auch nur weiß angezeigt und 
ich dachte, dass es nicht funktioniert. Aber als ich dann nach vielen 
Versuchen einmal zufällig schräg von der Seite draufgeschaut habe, hat 
man kaum sichtbar die Ausgabe des Waveshare Testprogramms sehen können. 
Wenn ich mich richtig erinnere, waren das Olympische Ringe, ein paar 
Linien und Formen und irgendein Text. Damals hab ich die Arduino Demo 
Sourcen aus dem Waveshare Wiki verwendet, da gab es die Arduino Lib auf 
GitHub noch nicht.

Thomas

von Kurt M. (kurt1975)


Lesenswert?

Servus Thomas!

Und an alle die halfen mein Display zum laufen zu bringen, Danke schön 
für die Hilfe.

Ich habe vor ein paar Minuten eine Bibliothek (MCUFriend_kbv) gefunden, 
angesteckt, Beispiel geladen und funktioniert einwandfrei. Der Vorteil 
ist, dass die Pins nicht verändert werden müssen und auch der 
Microkontroller wird angegeben.

Jetzt werde ich mich mit der Bibliothek befassen und hoffe das ich sie 
auf MKR NB 1500 zum laufen bringe. Was ich bis jetzt gesehen soll die 
Bibliothek auch auf dem Zero laufen soll. Jetzt habe ich gesehen das ich 
oben eine falsche angabe gemacht habe auf dem MKR ist kein samd32 
sondern ein samd21.

Kurt

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.