Touch funziona in maniera anomala

Salve a tutti,
ho coprato qualche giorno fa uno schermo TFT01 3.2" ed una shield v2.0 per Arduino Mega. Come prima cosa ho visto che controller aveva (S6D1121); nello sketch bisogna dichiararlo come TFT01_32:

myGLCD (TFT01_32,38,39,40,41);

Ho fatto più volte la calibrazione seguondo l'esempio UTouch_Calibration, ma il touch del mio display continua a funzionare in modo anomale; nel dettaglio se premo un button non accade nulla ma se premo nel vuoto accade ciò che dovrebbe succedere se viene premuto il button...
Qualcuno saprebbe aiutarmi??

Probabilmente, dico probabilmente perché non ho altri dettagli, sembra che sia un’auto-oscillazione, probabilmente ti accade se passi con il dito sopra l’atmega. se alimenti il circuito alcuni alimentatori danno problemi, prova con una batteria e se il problema, di sicuro rimarra,ma dovrebbe essere meno sensibile, dovresti inserire in serie ai due poli di alimentazione delle induttanze tipo vk200. Se hai a disposizione un’oscilloscopio magari se posti una foto di questi “ripple” che non devono esserci forse ti posso aiutare facendo delle prove tipo con filtri RC

Grazie per la risposta gironico!! :slight_smile:
Vi dico tutto ciò che ho usato:
Arduino Due alimentato via USB

ciao ho avuto il tuo stesso problema quando ho cominciato ad usare anche io i touch con arduino, hai inserito i CAL_X, CAL_Y, CAL_Z, nel file UTouchCD.h?

Ciao tetuito!!
Sisi ho reimpostato più volte quei valori ma niente…non so cosa fare!! :frowning:

Stai usando le librerie Henning? se si hai inserito la giusta configurazione per l'lcd ed l touch?

UTFT myGLCD(?)
UTouch myTouch(?)

Si ho impostato tutto

UTFT myGLCD (TFT01_32,38,39,39,41);
UTouch myTouch (6,5,4,3,2);
UTFT_Buttons myButtons (&myGLCD, &myTouch);

alimentando da pc non dovrebbe succedere, lo switching qualche disturbo lo da , ma penso che l'elettronica di bordo della scheda madre dovrebbe pensare a ripulirlo, quindi per tornare a noi la board ha collegamenti in aria verso il keypad oppure hai auto-costruito un pcb? nel primo caso ti consiglio di usare un cavetto schermato dato che le connessioni spesso ti possono fare da antenna (per esempio può essere un disturbo proveniente dalla wireless). Nel secondo caso, pubblica una foto del pcb perché qui il discorso è lungo....

Scrivi un programmino che quando tocchi ti invia le coordinate del tocco sul serial.
Così vedi se per caso hai sbagliato qualcosa nel posizionare i button...
Forse hai scambiato i vertici...

Buongiorno,
no non uso nessuna PCB ma lo sheidl apposito.
Ho usato questo sketch per le coordinate:

#include <UTFT.h>
#include <UTouch.h>
UTFT    myGLCD(TFT01_32,38,39,40,41);
UTouch  myTouch( 6, 5, 4, 3, 2);

void setup()
{
  Serial.begin(9600);
  myGLCD.InitLCD();
  myGLCD.clrScr();

  myTouch.InitTouch();
  myTouch.setPrecision(PREC_MEDIUM);
}

void loop()
{
  long x, y;
  
  while (myTouch.dataAvailable() == true)
  {
    myTouch.read();
    x = myTouch.getX();
    y = myTouch.getY();
    Serial.print("x= ");
    Serial.println(x);
    Serial.print("y= ");
    Serial.println(y);
    Serial.print("\n");
  }
}

ma purtroppo le coordinate sono sballate…in alcuni punti mi segna addirittura 0,0 e come altri valori mi segna solo 319 e 239!! :frowning: