Hallo zusammen, hat jemand schon mal versucht, das 2.4" China Display mit SPFD5408-Controller an ein Arduino DUE R2 zu hängen? Die Ergebnisse von Google beziehen sich immer auf ein Arduino UNO. Da die neuesten Versionen von UNO R2/R3 und DUE R3 das gleiche Shield-Pinning haben, sollte dsas Display auf UNO und DUE passen. Ich habe natürlich Google angeworfen und diverse Einträge und Libraries (UTFT 2.72 plud, Adafruit TFTLCD)gefunden. Aber laufen will keine Software. Es rührt sich nichts am Display. Gruß Karsten
:
Bearbeitet durch User
[quote] Die Ergebnisse von Google beziehen sich immer auf ein Arduino UNO. Da die neuesten Versionen von UNO R2/R3 und DUE R3 das gleiche Shield-Pinning haben, sollte dsas Display auf UNO und DUE passen.[/quote] Halt Stop! Du kannst nicht einfach ein Shield was, so wie es aussieht, für den UNO erstellt wurde, auf einen Due oder Mega stecken und hoffen das es funktioniert! Nur weil es von oben optisch identisch aussieht und vermutlich auch die Bezeichnung der "Pins" (0..13) gleich ist, heißt das noch lange nicht, dass die Funktion so gegeben ist. Der Due und Mega haben keine SPI Pins auf der 2. Pinleiste! http://arduino.cc/en/uploads/Main/arduino-Due-schematic.pdf http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Die auf deinem Bild schrifteten Pins (SD_SS, SD_DI(MOSI), SD_DO(MISO), SD_SCK(SCK) liegen beim Due dort nicht.
:
Bearbeitet durch User
Hallo Stefan, das stimmt so nicht ganz: In der Produktbeschreibung auf der Arduino DUE Seite steht eindeutig: >The Due is compatible with all Arduino shields that work at 3.3V and are >compliant with the 1.0 Arduino pinout. Nach dieser Aussage ist das LCD-Shield kompatibel, da ja nur die vier Buchsenleisten verwendet werden, die zum Grundstandard gehören. Oder täusche ich mich??? Das es noch weitere PINs gibt ist ja auch o.k.. Hier weicht das Board vom Grundstandard ab. Gruß Karsten
Habe das Problem gelöst. Das Problem mit dem Arduino-Code ist, dass nicht konsequent mit den Standardbefehlen aus dem Arduino-Pool geschrieben ist. Teilweise geht der meiste Treibercode auf Registerbene des Prozessor vom UNO Board zurück. Daher meine Schwierigkeiten. Also das Rad so halb neu erfunden. Inspiriert wurde ich dabei von TorstenC seinem Code auf github https://github.com/TorstenC/A137_TouchTFT_320x240/blob/master/Mikrocontroller/Atmel%20Studio/UNO_TFT.cpp und der Library von CooCox http://www.coocox.org/driver_comp/spfd5408-c1059.html?mc=4&sc=24 Thorstens I/O-Funktionen mit den Grafikfunktionen von CooCox liefern ein Resultat, das mit wenigen und einfachen Anpassungen (PIN Zuweisen, Anpassen der untersten Schreib- und Lesefunktion) auf jedem Arduino Board läuft, da der Code komplett aus den Arduino-Standardbefehlen besteht. Ist zwar zugegebener Maßen nicht sonderlich schnell und das Touch ist auch noch nicht implementiert, aber es reicht für meine Zwecke zum Anzeigen von Messwerten. Die Optimierung auf Geschwindigkeit kommt irgendwann noch. Gruß Karsten
Hallo! Die Rate-Optimierung nicht lösen können? Peter
Doch, ich habe die Schreib- und Lesefunktionen angepasst und dort statt der Arduino Standardfunktionen die direkten Zugriffe auf die Port IO-Register gewählt. Macht etwa Faktor 8 bis 10 aus. Hänge den Code heute Abend noch an. Gruß Karsten
Ich bin froh, dass Sie daran arbeiten! Ich schrieb den Code ST7783-Chipsatz von. Funktioniert bei mir ... Sorry für die schlechte deutsche Sprache in kürzester Zeit. :)
Hallo Peter, wie versprochen der optimierte Code. Lässt sich auch problemlos auf andere Controller übertragen. Gruß Karsten
Hallo Karsten! Vielen Dank! Am Abend habe ich testen ... willkommen Peter
Hallo Karsten! Sie sind der König !!! Er war sehr schnell! Bisher konnten wir nur sie richtig UNO und Mega. Kleinere Bugs gibt es noch nicht, aber vielleicht zu das ich lösen kann: Horizontal vertauscht die Orientierung der X und Y-Koordinaten. LCD "Bezeichner" ist schreib Ergebnis ist "0". Vielen Dank für Ihre Hilfe! Willkommen Peter
Hallo, ist es möglich das Display per SPI zu betreiben? Ich habe auch Interesse an dem Display würde aber gerne nicht so viele Pins verbrauchen. Gruß, PD
Nein, das Shield kann nicht über SPI kommunizieren. Lediglich der SD Slot wird über SPI angesprochen. Der Rest wird Parallel genutzt.
Hallo zusammen Möchte mit einen großen lob für Karsten anfangen dank dem Sketch5 hat mein Display zum ersten mal das licht der Welt erblickt es ist langsam aber funktioniert gut. Leider funktioniert Sketch1 nicht kann da mir jemand weiter helfen danke Ossi
Ossi schrieb: > Hallo zusammen > Möchte mit einen großen lob für Karsten anfangen dank dem Sketch5 hat > mein Display zum ersten mal das licht der Welt erblickt es ist langsam > aber funktioniert gut. > > Leider funktioniert Sketch1 nicht kann da mir jemand weiter helfen > > danke > Ossi
Hi Ossi! Karsten schnellen Code umgeschrieben wurde ST7783 Peter
Hi Ossi, was geht denn nicht? Post mal Deinen Code. Dann können wir mal schauen. Gruß Karsten
Danke Karsten und Peter Sketch9 funktioniert super und echt schnell ist es möglich das man touchscreen noch mit einbindet Ossi
Ich arbeite daran. Habe im Moment nur wenig Zeit. Kann ein paar Tage dauern :) Gruß Karsten
Hallo Karsten Keine eile kannst dir ruhig Zeit lassen bin dir jetzt schon sehr dankbar. Schöne grüße Ossi
Hi Ossi, ich würde dir das hier empfehlen: https://github.com/adafruit/Touch-Screen-Library Das ist eigentlich alles notwendige, was für den Betrieb des Touch-Panels benötigt wird. Die Konvertierung auf "normales" C auf einem Arduino MEGA2560 läuft ganz gut (von ein paar Offsetfehlern mal abgesehen, die noch korrigiert werden müssen). Den Code einfach auf einem DUE laufen geht nicht, obwohl nur Standard Arduino Funktionen verwendet werden. Bekomme pointer und Typenfehler [-fpermissive]. So langsam verliere ich die LUst an Arduino, dessen Sinn es ja eigentlich ist die vorhandenen Libraries zu verwenden. Aber irgendwie nicht so optimal programmiert. Grundlagen über den Betrieb des Touch Panels sind hier gut beschrieben: Beitrag "4 wire resistives Touchpanel an Atmega anschließen??" Ich passe den adafruit-code noch in eine lauffähige bzw. kompilierbare Version für den DUE an. Gruß Karsten
Hallo Karsten Danke für die links leider ist das alles noch zu hoch für mich beschäftige mich erst seid ein paar Wochen mit Arduino DUE Du kannst ja mal diesen Sketch anschauen das Display bleibt zwar dunkel aber es werden keine Fehler ausgegeben und soll für den DUR sein. Grüße Ossi
Ossi schrieb: > Hallo Karsten > > Danke für die links leider ist das alles noch zu hoch für mich > beschäftige mich erst seid ein paar Wochen mit Arduino DUE > > Du kannst ja mal diesen Sketch anschauen das Display bleibt zwar dunkel > aber es werden keine Fehler ausgegeben und soll für den DUR sein. > > Grüße > Ossi Hi Ossi, ich bin auch relativ neu auf Arduino. Aber mit Grundlegenden C/C++-Kenntnissen kommt man schon ganz gut zurecht. Aber zu Deinem Link: Die UTFT-Library läuft bei mir auch nicht. Das Problem sind die Pinbelegungen und die Ansteuerung des Displays in der Library. Wenn Du meinen Code mit denen aus der UTFT vergleichst, dann wird Du Ähnlichkeiten feststellen. Teile aus UTFT habe ich extrahiert und noch deutlich umstrukturiert und modifiziert. Das Ergebnis ist eben der oben gepostete Code. Aus Erfahrung würde ich mittlerweile sagen, dass Display nicht gleich Display ist. Besonders bei den China Dingern aus EBAY. Du kannst aber meinen Code gut erweitern. Die wirklich notwendigen Grundfunktionen wie Byte auf Bus schreiben/lesen sind ja vorhanden. Hierauf baut dann Punkt setzen und löschen auf. Darauf dann Linien und Flächen. Du must lediglich in den Grafikfunktionen die Algorithmen beibehalten und die Schreib- und Lesefunktionen für das Display anpassen bzw. durch die Grundfunktion ersetzen. Letztlich liegt es in Deiner Phantasie, welche Grafikfunktionen Du haben möchtest. Die Grundzeichenfunktionen sind vorhanden. Die Algorithmen für deinen Anwendungsfall musst natürlich von Dir implementiert werden. Wenn Du noch bestimmte Funktionen aus der UTFT angepasst haben möchtest, dann kann ich Dich dabei unterstützen. Gruß Karsten
Hi Karsten, Ich glaube nicht, dass die Bibliothek ist eine praktikable UTFT. Utouch besonders! Der Touchscreen muss irgendwie neu gefasst werden ... Ich begann auf der anderen Seite. Es hat sich in den Kartenleser Software SPI-Modus, der SdFat und SD-Bibliotheken tätig als gut. Sie versuchen, den Code, der BMP-Viewer-Funktion zu implementieren. Gruß Peter
Hallo, ich spiele zur Zeit auch mit diesem Display und versuche es auf einem STM32F411RE (Nucleo) zum laufen zu bringen, leider bisher ohne Erfolg. Mit einem Arduino UNO funktioniert es sehr gut, ich habe den Code für den STM32 portiert. Kann es sein das es daran liegt, das der STM32 und die IO-Pins mit 3,3V arbeiten, also die Pegel Spannungen inkompatibel sind, kenne mich da leider nicht so richtig gut aus? Viele Grüße PD
Karsten Brandt schrieb: > Inspiriert wurde ich dabei von TorstenC seinem Code auf github Ah, eben erst gelesen. PD schrieb: > Kann es sein das es daran liegt, das der STM32 und > die IO-Pins mit 3,3V arbeiten, also die Pegel Spannungen inkompatibel > sind …? Du must die 74HC245er m.E. mit 3.3V betreiben. Wenn's am DUE geht, sollte es am STM32 auch gehen. Ich habe das auch vor, aber bin noch nicht dazu gekommen.
:
Bearbeitet durch User
Torsten C. schrieb: > Du must die 74HC245er m.E. mit 3.3V betreiben. Hallo, leider habe ich keinen Schaltplan von dem Display, so kann ich nicht prüfen ob die 74HC245er mit 3,3V versorgt werden. Gruß, PD
PD schrieb: > leider habe ich keinen Schaltplan von dem Display, so kann ich nicht > prüfen ob die 74HC245er mit 3,3V versorgt werden. Das ist kein Multilayer. Hast Du eine Lesebrille? PS: Das Display kannst Du dran lassen, siehe Beitrag "A137 Touch TFT 320 x 240 - Display abgeknibbelt."
:
Bearbeitet durch User
Hallo, habe es jetzt doch auf dem STM32F411 Nucleo zum laufen bekommen. Der ganze Code ist aber noch sehr experimentell. Ich habe als Grundlage Code aus einem Arduino Uno Projekt verwendet, dort sind die Bibliotheken ja Objektorient bzw. in C++ geschrieben, das möchte ich aber für meine Projekt auf dem STM32F411 zunächst vermeiden. Ich möchte an diesem Projekt etwas lernen und will daher so viel wie möglich selbst implementieren, aus dem Arduino Code habe ich nur die Initialisierungssequenz abgeschaut, ich hoffe das ist erlaubt. Was ich noch gar nicht geprüft habe, ist der Touchscreen. Es gibt noch viel zu tun bzw. zu lernen. Sollte ich etwas vorzeigbares haben, kann ich es hier bereitstellen. Vielen Dank für Tipps und Unterstützung. Gruß, PD Der Quellcode zum Arduino bezieht sich auf die Webseite http://www.smokeandwires.co.nz
PD schrieb: > Was ich noch gar nicht geprüft habe, ist der Touchscreen. Aber das Prinzip kennst Du? Erst in X-Richtung links LOW und rechts HIGH anlegen, dann ein Signal in Y-Richtung per ADC auslesen (besser beide und Mittelwert bilden), Dann in Y-Richtung oben LOW und unten HIGH anlegen, dann ein Signal oder beide in X-Richtung per ADC auslesen. Geht natürlich auch anders herum. Für den Touch-Sensor wird in X links LOW und in Y oben HIGH angelegt und X rechts und Y unten per ADC ausgelesen. Auch das geht natürlich auch anders herum.
Hallo Kann mir einer von euch die Anschlüsse sagen die für daß Touchscreen benötigt werden. Gruß Ossi
Hallo, habe einmal die Pinbelegung versucht in einer Grafik darzustellen. Gruß, PD
PD schrieb: > Pinbelegung Und die Ausgänge für Touch sind: LCD_D6 = Xp LCD_D7 = Ym PS: Ich habe mein letztes Projekt mal hochgeladen, der Code sieht nicht "schön" aus, aber funktioniert. Vielleicht hilft es Jemandem. Touch geht jedenfalls. https://github.com/TorstenC/A137_TouchTFT_320x240/tree/master/Mikrocontroller/Atmel%20Studio/TimeTimer
:
Bearbeitet durch User
Leider habe ich mich zu früh gefreut denn wenn ich die Routine für das Touchscreen starte kann man keine weiteren Elemente mehr auf dem Display ausgeben Gruß Ossi
Ossi schrieb: > wenn ich die Routine für das > Touchscreen starte kann man keine weiteren Elemente mehr auf dem Display > ausgeben Wie gesagt: Bei meinem Code (s.o.) geht´s. Natürlich muss man warten, bis der Touch zuende ausgelesen ist, bevor man wieder auf das Display schreibt. Also in einer ISR würde ich keins von beiden machen und in einer ISR bestenfalls ein Flag setzen. Aber falls das nicht Dein Problem ist: Natürlich muss entweder zum Beginn der Zeichnen-Routinen oder am Ende der Touch-Sensor-Routinen der Zustand "Digitaler Ausgang" für WR und RS wieder hergestellt werden (Arduino A1 und A2, siehe Arduino-Nucleo-TFT_Pinmapping.PNG). In den Touch-Sensor-Routinen werden diese Pins ja auf Analog-Input geschaltet.
:
Bearbeitet durch User
Huhu ihr, ich habe mir ein Arduino Mega 2560 R3 mit dem hier beschriebenen Display gekauft und Sketch2 aufgespielt. Leider bleibt das TFT weiterhin weiß. Nach der Setup Funktion sollte ich Testbilder sehen. Diese bleiben leider aus. Die Pinbelegung stimmt. Hat jmd eine Idee?
Michael M. schrieb: > Leider bleibt das TFT weiterhin weiß. Weiß?! Also muß sich was tun! Ich hatte das mal bei falscher Initialisierung. Die Register müssen in der richtigen Reihenfolge mit den richtigen Werten beschrieben werden.
Also auch vor dem Flashen war die Anzeige auch schon komplett weiß. Ich habe das Display hier und die Pinbelegung stimmt: http://www.ebay.de/itm/2-4-TFT-LCD-Modul-Touch-Panel-Display-TF-Reader-Fur-Arduino-UNO-R2-R3-A137-/281358622466?hash=item418247df02 Ich wollte das Display nur mal testen und habe dann hier den Thread gefunden und dachte mir, da ich zZ so gut wie keine Ahnung von dem Display habe nutze ich es für einen Test. Ich habe jetzt mal die UTFT Libary probiert und ein Sample genommen, das Board gewählt und mit UNO_26 oder UNO_24 als Wahl des Displays getestet doch weiterhin ist bis auf ein anfängliches sehr kurzes Zucken das Bild immer weiß.
:
Bearbeitet durch User
Hallo Karsten! Es gab keine Zeit, sich von der touchsreen brechen? Gruß Peter
HOLA amigos, ich bin ein newwbee, ziemlich wenig Ahnung und hab leichtsinnigerweise so ein 2.4 inch TFTLCD-shield aus CHINA mainland von mcumyfriend.com zum Draufstecken auf UNO gekauft, das mir meine Nerven kostet, da es leider nicht funktioniert, Bildschirm weiss--nada (nix). Kann mir jemand einen code für UNO und links zu den erforderlichen libs schicken, Adafruit GFX, UTFT, TFT, TFTLCD alle diese libs helfen bisher nicht. ich möchte Text schreiben, Linien zeichnen, Kreise, Rechtecke usw. Mit herzlichem Vorausdank und beste Grüße an alle ! Gerry
Hallo, es etwas gedauert aber jetzt ist es mir gelungen das Display Shield auch auf dem STM32F411 Nucleo zum laufen zu bringen, es funktioniert Display und Touch, dabei habe ich mich im wesentlichen an Beispiel Code aus verschieden Arduino Projekten orientiert, wie bspw. Adafruit, der Code ist nicht vollständig eins zu eins übernommen worden, schließlich unterscheiden sich AVR und STM in der Ansteuerung von Ports, ADC usw. Wenn ich jetzt den Code hier veröffentlichen will, was muss ich da bzgl. Lizenzrecht beachten? Gruß PD @Gerry schau mal unter folgenden Links: http://misc.ws/2013/11/08/touch-screen-shield-for-arduino-uno/ http://www.smokeandwires.co.nz/blog/a-2-4-tft-touchscreen-shield-for-arduino/
Hey, danke. Der sketch5.ino tut, was er soll."Hello Word"'ln. Ich habe ein blaues cheapcheapcheap Board mit nem ATmega2560 von der Bay, sowie das Display mit dem SPDF5408. Das Kuddelmuddel mit der UTFT-Lib und weiteren Experimenten brachte bisher keine Ergebnisse. Habe mich auch nicht recht bemüht - wollte nur schnell 'n "Huhu" auf's TFT haben. Hast du eine Seite über die Du dein Wissen verbreitest ? mfg wik
Moin Moin, ich will das Display mit einer AVR32 Einheit ansteuern, wo findet man die Informationen, was sich hinter den Pinbelegungen versteckt. Ich mir ist gerade selber eingefallen, dass man es mit den LIBS herausfinden könnte ... Schöne Grüße N. Ehrhardt
Hallo ich bin ein absoluter arduino anfänger und habe mir ein 2.4" TFT LCD Shield Touch Panel Display für Arduino zugelegt. Ich habe einige Codes von den angeboten auf den Arduino geladen, jedoch bleibt mein Display dunkel was mach ich den falsch???? Gruß christian
Christian schrieb: > ich bin ein absoluter arduino anfänger Das merkt man ... Christian schrieb: > habe mir ein 2.4" TFT LCD > Shield Touch Panel Display für Arduino zugelegt. Welches. Es gibt viele .... Christian schrieb: > jedoch bleibt mein Display dunkel Das ist schaaaade .... Christian schrieb: > was mach ich den falsch???? Viele hier würden antworten dass der Fehler in Zeile 42 liegt. Aber nachdem du überhaupt nicht beschreibst was du machst können wir dir auch nicht sagen was du falsch machst.
Hallo Karsten, Wenn ich Zip-Bibliothek zu meinem DUE hinzufügen, erscheinen diese Fehlermeldung: "Angegebene Ordner- / Zip-Datei enthält keine gültige Bibliothek" Was kann ich tun? Danke und Glückwünsche an Sie Hamid
Hallo Karsten, Es tut mir leid, wenn mein Deutsch ist nicht gut. Wenn ich Zip-Bibliothek zu meinem DUE hinzufügen, erscheinen diese Fehlermeldung: "Angegebene Ordner- / Zip-Datei enthält keine gültige Bibliothek" Was kann ich tun? Danke und Glückwünsche an Sie Hamid
Hallo Karsten, Es tut mir leid, wenn mein Deutsch ist nicht gut. Vielen Dank für die Skizzen 1 Ich benutzte es. Aber das Display im LCD muss um 90 Grad gedreht werden. Alle Farben werden angezeigt sowie Negative, die geändert werden müssen. Bitte führen Sie mich in diesem Fall. Danke, Hamid
Hallo Ich habe alle oben genannten Skizzen mit Arduino Due R3 ausprobiert, nicht von ihnen gearbeitet. Anzeige bleibt weiß.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.