TFT LCD Tutorial

Buongiorno.
Sto seguendo questo tutorial:

Allorchè eseguo la verifica sembra andare ok ma quando passo alla compilazione il display rimane bianco e non da' segni di vita.
Il code è questo:

#include <Adafruit_TFTLCD.h> 
#include <Adafruit_GFX.h>    
#include <TouchScreen.h>

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

#define TS_MINX 122
#define TS_MINY 111
#define TS_MAXX 942
#define TS_MAXY 890

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

#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

TouchScreen ts = TouchScreen(XP, YP, XM, YM, 364);

boolean buttonEnabled = true;

void setup() {
  
  tft.reset();
  uint16_t identifier = tft.readID();
  tft.begin(identifier);
  tft.setRotation(1);
  tft.fillScreen(WHITE);
  tft.drawRect(0,0,319,240,YELLOW);
  
  tft.setCursor(30,40);
  tft.setTextColor(BLACK);
  tft.setTextSize(2);
  tft.print("TFT LCD Touch Screen");
  
  tft.setCursor(115,80);
  tft.setTextColor(BLACK);
  tft.setTextSize(2);
  tft.print("Tutorial\n\n            by");
  
  tft.setCursor(30,150);
  tft.setTextColor(BLUE);
  tft.setTextSize(2);
  tft.print("Mert Arduino and Tech");
  
  tft.fillRect(50,180, 210, 40, RED);
  tft.drawRect(50,180,210,40,BLACK);
  tft.setCursor(60,190);
  tft.setTextColor(WHITE);
  tft.setTextSize(2);
  tft.print("Please Subscribe");

}

void loop() {
  TSPoint p = ts.getPoint();
  
  if (p.z > ts.pressureThreshhold) {
    
   p.x = map(p.x, TS_MAXX, TS_MINX, 0, 320);
   p.y = map(p.y, TS_MAXY, TS_MINY, 0, 480);
       
   if(p.x>50 && p.x<260 && p.y>180 && p.y<270 && buttonEnabled){
    
    buttonEnabled = false;
    
    pinMode(XM, OUTPUT);
    pinMode(YP, OUTPUT);
    
    tft.fillScreen(WHITE);
    tft.drawRect(0,0,319,240,YELLOW);
    tft.setCursor(50,70);
    tft.setTextColor(BLACK);
    tft.setTextSize(3);
    tft.print(" Thank you\n\n       for\n\n     support");
   }  
  }
}

Nell'ide dopo la compilazione il display non si accende .Come da tutorial eseguendo Touchscreen->Touchscreedemo neanche questo funziona.

Le librerie richieste sono tutte presenti nel mio gestione librerie.

Sotto l'ide ho tutta una serie di informazioni in rosso(che non so come inviare)

Faccio notare che quando uso gli esempi di Elgoo dal quale ho comprato il tft lcd il display funziona .

Aiuto
Grazie

karafasta:
Sotto l'ide ho tutta una serie di informazioni in rosso(che non so come inviare)

Potresti fare un cattura immagine dei messaggi che ti restituisce l'IDE e allegare l'immagine.

Non ho più a disposizione LCD in questione ma, compilando il codice che alleghi non ho riscontrato errori.

Grazie.
Ti mando le foto dei messaggi che però devo mandare in due catture perché non ci sta il tutto in un unica schermata.

Non vedo errori, ma solo una lista di cose che IDE ha eseguito.
Poi in fondo hai un ERRORE, ma te lo spiega bene in italiano cosa devi fare...

Quindi fai Salva con nome e dagli un nome qualsiasi

steve-cr:
Non vedo errori, ma solo una lista di cose che IDE ha eseguito.
Poi in fondo hai un ERRORE, ma te lo spiega bene in italiano cosa devi fare...

Quindi fai Salva con nome e dagli un nome qualsiasi

Scusa ma non capisco;Ti riferisci al nome dello sketch?
Ma se io copio uno sketch così' come sta perchè devo cambiare il nome?
Non ci arrivo!

In genere sui nomi ci sono sempre dei vincoli di qualche tipo e mi sa che ricopiando, questa volta, non li hai rispettati.
Il messaggio di errore ricorda tali vincoli.
Tutto qui.

Per curiosità, come si chiama il file dello sketch?

Il file dello sketch è questo:

053-Touch-Screen-TFT-LCD.
(Ma questa poi mi è nuova!)

Pare ok, non è che inizia con un blank?
In genere i limiti sono per scopi di qualche tipo, es. certe codifiche vengono usate per scopi particolari oppure derivano da questioni storiche.
Non è inconsueto trovarli.
Anche io non lo sapevo, nello specifico, ma se dice così nel messaggio di errore...

cos'è il blank?

Il blank è un carattere di spazio che magari è presente come primo carattere del nome del tuo file e siccome è "invisibile" a volte fa impazzire per trovare un programma CHE SI E' SICURI di averlo scritto giusto.

Poi, per non buttare ore preziose della mia vita in inutili dilemmi o "strani" errori, io mi attengo a una semplicissima regola per i nomi di file o programmi: un solo nome, senza spazi, senza strani simboli, senza trattini e underscore e nemmeno troppo lungo. Nasco insieme ai computer, dove i primi nomi ammessi erano di SOLO 8 caratteri senza se e senza ma !

A parte che il nome "053-Touch-Screen-TFT-LCD" è un nome programma che sfido chiunque a ricordare a mente (naturalmente anche le Maiuscole, le minuscole e i trattini) e che se devi chiamarlo sotto CMD del DOS o, peggio, sotto editor di LINUX devi copiarlo carattere per carattere altrimenti non te lo trova (ecco perché a volte odio Linux) ti consiglio di salvarlo con qualsiasi altro nome che sia anche semplice ma che ti ricordi che programma è.

E la frase "ma questa poi mi è nuova" ti assicuro che te la ripeterai chissà quante volte !

Scusa, davo per scontato...
è il carattere di spaziatura, lo "spazio", questo compreso tra gli apici: ' '
Quello che ad occhio si fa fatica a vedere e che in genere fa casino perchè due stringhe sembrano uguali e invece...

Altra cosa, se hai fatto copia e incolla, può essere che all'inizio della stringa "incollata" possa anche esserci finito qualche altro carattere non stampabile che crea il problema ma non si vede come un tab o altro ancora.,
A me ogni tanto capita che un codice dia errore di sintatti e alla fine si tratta di uno "sporco" invisibile da qualche parte.

Ormai con il copia incolla intelligente che cerca di interpretare di tutto convertendo in stringa, compresi tab, simboli di formattazione, tabelle, ecc. ecc. ecc. si rischia di infilare "sporco" invisibile ad occhio che crea problemi ai compilatori e quindi sui programmi.

bene allora sono fott.....to. Comunque ringrazio sentitamente tutti quelli che partecipano a questo thread.

karafasta:
bene allora sono fott.....to.

perchè? se posso chiedere

Perché, chiedi?
Con la mia incompetenza come posso uscirne?Ovviamente non per copiare lo sketch ma per poter capire un po' di più come poter comprendere un programma.

Purtroppo alla mia età e senza competenze specifiche credo che non riuscirò a farlo mai più e perciò mi devo accontentare del copia-incolla(sic). :cry: ....ma grazie al forum forse ho la speranza di progredire almeno un po'.

"La speranza è un sentimento che aiuta a soffrire più a lungo"

il copia-incolla lo faccio anche io, non è sbagliato di per se.
con la memoria che mi ritrovo, per me è fondamentale.
Tu probabilmente sei incappato, in questo caso, in un problema del copia-incolla che si è tirato dentro caratteri strani, questo capita a chiunque e se non ti è mai capitato prima è un casino da diagnosticare.
Quindi, se ti riferivi a questo, sei fott...to come chiunque altro :wink:

Poi, su Arduino, non penso che tu ne voglia fare un mestiere, ma più un hobby, giusto?
E quindi finchè hai speranza, voglia e passione, hai tutto quello che ti serve.
Per il resto, un po' di sbattimento di testa in giro, ma essendo tu medico non dovrebbe essere troppo pericoloso :stuck_out_tongue: e il forum, portando pazienza quando esce l'ego smisurato dei sapientoni che rispondono :wink:

Perchè domando?
Perchè mi ha incuriosito la tua frase, vedo che hai aperto varie discussioni su vari progetti su cui ti stai cimentando e immagino che di riffa o di raffa tu alla fine sia riuscito a raggiungere il risultato pensato, quindi mi stupiva questa frase di sconforto. E quindi ho chiesto, visto che di natura sono un tipo curioso.
Spero di non averti tediato con la mia domanda e soprattutto con questo mio pistolotto.

Nessun problema anzi mi fa piacere partecipare al forum anche se da "peone";
mi diverto e di riffa o di raffa imparo.

maubarzi:
In genere sui nomi ci sono sempre dei vincoli di qualche tipo e mi sa che ricopiando, questa volta, non li hai rispettati.
Il messaggio di errore ricorda tali vincoli.
Tutto qui.

Per curiosità, come si chiama il file dello sketch?

Ma in realtà a me l'IDE aggiunge in automatico un underscore ( _ ) davanti al titolo dello sketch in fase di salvataggio se questo è sbagliato; almeno sul mio è così (IDE 1.8.7), poi non so se dipenda anche dal fatto che uso oSX

Piuttosto ho notato una cosa che mi era sfuggita per la fretta:

Faccio notare che quando uso gli esempi di Elgoo dal quale ho comprato il tft lcd il display funziona .

Lo schermo LCD che utilizzato nelle prove è il medesimo di quello utilizzato nel tutorial su youtube ?

  • La posizione dei pinout è la stessa ?
  • Negli esempi che funzionano le librerie utilizzate utilizzate sono le stesse ?
  • La parte dove vengono definiti i pin che usi per la comunicazione tra LCD e Arduino è uguale nei 2 codici ?