Hallo, vielleicht habt Ihr Interesse an meinem Projekt? Es gibt für den Arduino Uno ein 2.4" Display Shield, dieses Shield passt auch auf das STM32 Nucleo Board (bspw. STM32F411). Nun habe ich Code zur Steuerung dieses Displays und Auswertung des Touchscreens für den STM32 entwickelt. Im aktuellen Stand sind ein paar Grafikfunktionen (Punkte, Linien, Rechtecke und Kreise zeichnen auch eine einfache Textausgabe) implementiert. Die Funktionen zur Abfrage des Touchscreens liefern den ADC-Wert für x und y Koordinate. Das ganze ist noch im Anfangsstadium und ist zunächst ein Projekt um daran zu lernen. Das Projekt habe ich mit Eclipse unter Ubuntu erstellt. Vielleicht ist es ja auch für euch interessant. Gruß, Peter
:
Verschoben durch Admin
Hallo, aktuell versuche ich den Druckpunkt des Touchscreens auszuwerten, dabei habe ich das Problem, das x, y Koordinaten erst nach einer gewissen Zeit sich auf eine Koordinate stabilisiert haben. Dieses Verhalten habe ich versucht in der angehängten Grafik darzustellen. Meine Frage, wie kann ich den Verlauf der x, y Koordinaten auswerten um brauchbare Ergebnisse zu erhalten? Gruß, Peter
PD schrieb: > Meine Frage, wie kann ich den Verlauf der x, y Koordinaten auswerten um > brauchbare Ergebnisse zu erhalten? da gibts mehrere Möglichkeiten die alle auf irgendeine Art "Filter" hinauslaufen ein Weg wäre z.B. den Messwert nur als gültig Anzusehen, wenn er seit der letzten Messung innerhalb von z.B. 10 Pixel liegt also z.B: [pseudocode] void checkTouch(void) { static int xold,xnew; static int yold,ynew; // messung xnew=GetXpos(); ynew=GetYpos(); // vergleich if((abs(xold-xnew)<10) && (abs(yold-ynew)<10)) { // koordinate ist gültig bei xnew,ynew } else { // koordinate ist ungültig...warte auf nächste messung } // werte speichern xold=xnew; yold=ynew; } [/pseudocode]
:
Bearbeitet durch User
Wie öffnet man das denn in eclipse, hab den workspace auf den ordner gemacht aber es kommt kein projekt zum öffnen?!
Hallo, Versuche das Projekt zu importieren. Gruß Peter
Hallo, nur als kurze Info: habe das gleiche TFT am NucleoSTM32F103RB ausprobiert (über STM32-Arduino, wo ich den Nucleo Port gemacht habe) und die vorhandenen (mir bekannten) Libraries umgeschrieben. Nur: den Touchscreen habe ich nie richtig zum Laufen gebracht, war immer zu ungenau. Liegt wohl auch daran, dass die Pins mehrfach verwendet werden. Bin jetzt komplett auf die ILI9341 Displays mit Touchscreen (2.4 bzw. 2.6 zoll) umgestiegen. Vorteil: a) weniger Verbindungen (über SPI) b) Geschwindigkeit (verwende Treiber mit SPI-DMA) c) Touchscreen hat einen eigenen Controllerchip d) Preis auf Ali bzw. Ebay (um die 8 Euro) LG Matthias
Hab die Library mal auf den STM32F0 umgeschrieben, das Display flackert leider nur, aber das heisst das da irgendwas schon geklappt hat. ;) Sobald ich das fertig hab, könnte ich das Example mal hochladen. Grüße
Eine Frage hätte ich noch: was ist das besagte CD in deinem Code? ist das RS auf dem Displayeingang?
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.