Scorrimento Testo su LCD

Salve a tutti, vorrei far scorrere un testo su un monitor LCD 16x2 (Sto utilizzando la libreria LiquidCrystal), il problema è che il testo che ho messo è più lungo di 16 caratteri e scende automaticamente alla riga sotto, e non si capisce nulla di quello che scorre sullo schermo, è possibile far scorrere su una riga, l’intero testo facendolo scorrerlo fino alla fine senza farlo scendere alla riga sotto?

lo sketch che mi da problemi è il seguente:

lcd.setCursor(0, 0);                  
lcd.print("TESTO MOLTO PIU' LUNGO DI 16 CARATTERI");   
         
for (int posizione = 0; posizione < 45; posizione++) { 

lcd.scrollDisplayLeft();

Ciao…non so se valga per tutti gli LCD 16x2 ma sul mio ci stanno 40 caratteri per riga poi va automaticamente alla riga successiva…al 41mo della seconda riga ritorna alla posizione 0,0.

detto questo per usare scrollDisplayLeft() devi fare così:

void loop() {

  lcd.home();
  lcd.print("TESTO MOLTO PIU' LUNGO DI 16 CARATTERI");

  for (int posizione = 0; posizione <= 22; posizione++) { // la tua stringa - 16 caselle del display
    delay(500);
    lcd.scrollDisplayLeft();

  }
}

srollDisplayLeft() ed autoscroll() muovono entrambi tutto il display a sinistra di una casella; quindi se vuoi tipo mantenere fissa la seconda riga devi fare una cosa del genere:

void loop() {
  lcd.clear();
  lcd.home();
  lcd.print("TESTO MOLTO PIU' LUNGO DI 16 CARATTERI");

  for (int posizione = 0; posizione <= 22; posizione++) { // la tua stringa - 16 caselle del display
    lcd.setCursor(posizione, 1);
    lcd.print(posizione);
    delay(500);
    lcd.scrollDisplayLeft();

  }
}