tftlcd adafruit sintassi

ciao a tutti,
non trovo la corretta sintassi per evitare di riscrivere completamente tutto lo schermo

se io nello setup() scrivo

tft.fillScreen(white)
tft.setTextSixe(1)
tft.setTextColor(RED)
tft.printin(ciao)

poi nel loop (ho uno schermo touch e con "if" vorrei cambiare la scritta)

tft.fillScreen(white)
tft.setTextSixe(1)
tft.setTextColor(RED)
tft.printin(ciao2)

tutto lo schermo mi torna bianco poi con il resto del loop() completo di nuovo lo schermo

mentre se io voglio cambiare solo ciò che è scritto in "printin" come dovrei fare?
grazie

intanto devi sapere in che posizione è la scritta,
per cui prima della println (print-elle-enne non i-enne)
dovresti usare setcursor(x,y)

dopodichè ti riposizioni nello stesso punto e se la nuova scritta è meno lunga della precedente puoi fare in 2 modi:

  1. ripetere la scritta precedente usando come colore del carattere quello dello sfondo (nel tuo caso white)
  2. disegnare un rettangolo pieno del colore dello sfondo
    quindi scrivere il nuovo testo

ottimo grazie tante,

che differenza cè tra println e solamente print

come puoi leggere anche tu cliccando su resources e poi references e cercando l'istruzione print
print stampa i numeri/caratteri che indichi e basta
println aggiunge alla fine della print i caratteri "ln" ovvero new line e cioè "a capo"
quindi nel caso dell'lcd o dei tft in genere dove sei tu che controlli il punto nel quale posizionare il cursore, in effetti l'istruzione println non dovresti usarla, diverso invece se scrivi su monitor seriale

perfetto grazie mille :grinning: