INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Warum kein Touch?
19.01.2021, 22:36 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2021 13:18 von Bitklopfer.)
Beitrag #9
RE: Warum kein Touch?
(19.01.2021 21:55)Heiner schrieb:  
(19.01.2021 21:47)Tommy56 schrieb:  Du verwendest immer noch keine Codetags.

Gruß Tommy
Hallo, Tommy,
ich habe doch auf # geklickt, Code eingefügt und wieder auf # geklickt.
Was ist falsch?
Gruß Heiner

OK, ich versuche es halt noch Mal:
[/code]...und was soll das Tag "/code"-Ende am Anfang vom Code ?? bk Mod.
Code:
/*Dies ist nur ein kleiner Auszug aus einem Modellbahn Projekt - es sollen 4 Signale gesteuert werden
  Das Programm läuft auf einem Arduino-UNO und auch MEGA perfekt, aber leider fehlt die richtige Touch-
  Funktion bzw. ist verkehrt !!!
  Das TFT-LCD ist Calibriert und die Werte werden verwendet, ob sie stimmen ???
  Ein beliebiger Touch irgendwo auf dem gesamten LCD schaltet die Buttons schon um, die Abfrage IF-
  Schleifen wirken also nicht !!!
*/
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#include <TouchScreen.h>

#define YP A3
#define XM A2
#define YM 9
#define XP 8

#define TS_MINX 570 //1016 //laut Calibrierung
#define TS_MINY 1016 //570
#define TS_MAXX 1015 //1006
#define TS_MAXY 1006 //1015

#define LCD_CS A3
#define LCD_RS A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4

#define BLACK 0x0000
#define RED   0xF800
#define GREEN 0x07E0
#define WHITE 0xFFFF

#define minpressure 10
#define maxpressure 1000

TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
TSPoint tp;

void Fahrwegschalter() { //Sinal-Fahrten
  tft.fillScreen(BLACK); //Bildschirm löschen
  //Signale
  tft.fillRoundRect(3, 1, 59, 59, 15, RED), tft.fillRoundRect(3, 172, 59, 59, 15, RED); //Signale O und N
  tft.fillRoundRect(259, 1, 59, 59, 15, RED), tft.fillRoundRect(259, 172, 59, 59, 15, RED); //Signale U und T
  //Signalnamen
  tft.setTextSize(6), tft.setTextColor(BLACK), tft.setCursor(15, 11);
  tft.print("O"), tft.setCursor(274, 183), tft.print("T");
  tft.setCursor(274, 11), tft.print("U"), tft.setCursor(15, 183), tft.print("N");
}
void setup() {
  uint16_t ID = tft.readID(); //Notwendig für TFT
  tft.begin(ID); //Notwendig für TFT
  tft.setRotation(1); //1=Quer / 0=Hoch
  pinMode(13, OUTPUT);
  Fahrwegschalter(); //Signale
}
void loop() {
  digitalWrite(13, HIGH);
  TSPoint p = ts.getPoint();
  digitalWrite(13, LOW);
  pinMode(XM, OUTPUT);
  pinMode(YP, OUTPUT);

  if (p.z > minpressure && p.z < maxpressure) {
    if (p.y < (TS_MINY - 5)) {
      if (p.z > 10); {
        p.x = map(p.x, TS_MINX, TS_MAXX, 0, 320);
        p.y = map(p.y, TS_MINY, TS_MAXY, 0, 240);

        if ((p.x > 3) && (p.x < 62) && (p.y > 1) && (p.y < 60)); {
          pinMode(XM, OUTPUT);
          pinMode(YP, OUTPUT);
          tft.fillRoundRect(3, 1, 59, 59, 15, GREEN); //Beispiel für Signal O
          tft.setTextSize(6), tft.setTextColor(BLACK), tft.setCursor(15, 11), tft.print("O");
        }
        if ((p.x > 259) && (p.x < 318) && (p.y > 1) && (p.y < 60)); {
          pinMode(YP, OUTPUT);
          pinMode(XM, OUTPUT);
          tft.fillRoundRect(259, 1, 59, 59, 15, GREEN); //Beispiel für Signal U
          tft.setTextSize(6), tft.setTextColor(BLACK), tft.setCursor(274, 11), tft.print("U");
        }
        if ((p.x > 3) && (p.x < 62) && (p.y > 172) && (p.y < 231)); {
          pinMode(YP, OUTPUT);
          pinMode(XM, OUTPUT);
          tft.fillRoundRect(3, 172, 59, 59, 15, GREEN); //Beispiel für Signal N    
         tft.setTextSize(6), tft.setTextColor(BLACK), tft.setCursor(15, 183), tft.print("N");
        }
        if ((p.x > 259) && (p.x < 318) && (p.y > 172) && (p.y < 231)); {
          pinMode(YP, OUTPUT);
          pinMode(XM, OUTPUT);
          tft.fillRoundRect(259, 172, 59, 59, 15, GREEN);
          tft.setTextSize(6), tft.setTextColor(BLACK), tft.setCursor(274, 183), tft.print("T");
        }
      }
    }
  }
}
Sieht doch schon besser aus, oder? Dann kann es also wieder von vorne beginnen.
Danke für alle Hinweise und Grüße vom Heiner
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2021, 22:57 (Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2021 22:58 von MicroBahner.)
Beitrag #10
RE: Warum kein Touch?
(19.01.2021 22:36)Heiner schrieb:  if ((p.x > 259) && (p.x < 318) && (p.y > 172) && (p.y < 231)) ; {
Durch das falsch gesetzte Semikolon wirken dein if's nicht. Der if-Block endet mit dem Semikolon. Das ist bei fast allen der if Abfragen falsch. Das musst Du überall ersatzlos löschen.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2021, 11:28
Beitrag #11
RE: Warum kein Touch?
(19.01.2021 22:57)MicroBahner schrieb:  
(19.01.2021 22:36)Heiner schrieb:  if ((p.x > 259) && (p.x < 318) && (p.y > 172) && (p.y < 231)) ; {
Durch das falsch gesetzte Semikolon wirken dein if's nicht. Der if-Block endet mit dem Semikolon. Das ist bei fast allen der if Abfragen falsch. Das musst Du überall ersatzlos löschen.

Hallo MicroBahner,
danke für deinen Hinweis - aber leider führte er noch nicht zum Erfolg.
Wenn ich jetzt das Touch-Display wo auch immer anklicke - passiert gar nichts mehr.

Noch wirken also die Buttons nicht, bzw. das ganze Display nicht.
Aber du schaffst das noch, bitte nicht aufgeben.
Danke Gruß Heiner
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2021, 13:44
Beitrag #12
RE: Warum kein Touch?
Dann mach doch mal ein paar Serial.print rein, damit Du siehst, wo dein Sketch überhaupt längsläuft.

Gruß, Franz-Peter
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2021, 21:03
Beitrag #13
RE: Warum kein Touch?
(20.01.2021 13:44)MicroBahner schrieb:  Dann mach doch mal ein paar Serial.print rein, damit Du siehst, wo dein Sketch überhaupt längsläuft.
Hallo, Franz-Peter,
ich habe zwar noch nie etwas mit Touch oder Serial zu tun gehabt, höchstens in anderen Sketches gesehen.
Könntest du bitte ein Beispiel geben wo und wie ich das Einfügen könnte.
Danke Heiner
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2021, 22:14
Beitrag #14
RE: Warum kein Touch?
(20.01.2021 21:03)Heiner schrieb:  ich habe zwar noch nie etwas mit Touch oder Serial zu tun gehabt, höchstens in anderen Sketches gesehen.
Könntest du bitte ein Beispiel geben wo und wie ich das Einfügen könnte.

SerialPrint hat erstmal nix mit deinem Touch-Problem zu tun.
Damit kannst du aber einkreisen und erkennen, wo dein Problem liegt.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2021, 22:21
Beitrag #15
RE: Warum kein Touch?
(20.01.2021 22:14)hotsystems schrieb:  
(20.01.2021 21:03)Heiner schrieb:  ich habe zwar noch nie etwas mit Touch oder Serial zu tun gehabt, höchstens in anderen Sketches gesehen.
Könntest du bitte ein Beispiel geben wo und wie ich das Einfügen könnte.
SerialPrint hat erstmal nix mit deinem Touch-Problem zu tun.
Damit kannst du aber einkreisen und erkennen, wo dein Problem liegt.
Hallo, ja das wäre schon schön - aber wie?
Ist ein Beispiel möglich?
Danke Heiner
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.01.2021, 22:25 (Dieser Beitrag wurde zuletzt bearbeitet: 20.01.2021 22:26 von Tommy56.)
Beitrag #16
RE: Warum kein Touch?
Wenn Du das schon nicht kannst, dann fehlen Dir völlig die elementarsten Grundkenntnisse.

Code:
Serial.begin(Baudrate); // im Setup, den seriellen Monitor auf die gleiche Baudrate einstellen


//irgendwo
Serial.print(variable); // den Variablenwert anzeigen

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Touch Button am TFT mit Libary „MCUFRIEND_kbv“ Heiko67 2 362 18.02.2021 21:56
Letzter Beitrag: Tommy56
  3,5" TFT-Touch mit microSD am MEGA Heiko67 9 871 17.02.2021 20:45
Letzter Beitrag: Heiko67
  WiFi ende - sofern kein connect rev.antun 18 1.039 31.01.2021 15:00
Letzter Beitrag: rev.antun
Question warum ist die IDE so unglaublich schlecht? spunky 12 1.023 25.11.2020 18:01
Letzter Beitrag: hotsystems
  Problem Arduino Mega und Nextion Touch Display pds14 9 1.198 28.10.2020 11:20
Letzter Beitrag: hotsystems
  Kein Zeilenvorschub bei client.println("...") Retian 5 693 16.09.2020 11:36
Letzter Beitrag: Retian
  ESP32 Web Radio VS1053 - touch-"buttons" funktionieren nur so halb crazysky 4 1.094 14.06.2020 22:43
Letzter Beitrag: crazysky
  bekomme kein Variablenwert der im String sein soll Willmi64 4 927 06.06.2020 11:41
Letzter Beitrag: Willmi64
  3.2” TFT Touch LCD PopEye007 3 3.593 25.01.2020 11:44
Letzter Beitrag: unkreativ
  SD shield / Kein Zugriff auf Karte Ernie70 33 4.323 10.01.2020 18:06
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste