L'esempio qui sotto riportato esegue lo scorrimento del testo da sinistra a destra utilizzando la funzione lcd.scrollDisplayLeft() che ad ogni chiamata sposta il testo di una posizione a sinistra.

// includi la libreria:
#include <LiquidCrystal.h>

// la lunghezza di 39 caratteri serve per contenere il carattere
// NULL che rappresenta la fine di una stringa
char testo[40]="Questo esempio fa lo scroll del testo!";
// inizializza la libreria con il numero dei pin di interfaccia
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// inizializza il display indicando il numero di colonne e di righe
lcd.begin(16, 2);
// scrivi il messaggio
for (int i=0; i<38; i++){
lcd.print(testo[i]);
delay(100);
}
delay(1000);
for (int i=0; i<(40-16); i++){
lcd.scrollDisplayLeft();
delay(1000);
}
}

void loop() {
}

L'operazione di scrittura di testi più lunghi di una riga va fatta con cautela perché l'organizzazione dei registri del display è tale per cui ad un certo punto il testo riprende nella riga successiva in un modo difficilmente prevedibile.

L'esempio che segue mostra quello che accade utilizzando un testo molto più lungo:

// includi la libreria:
#include <LiquidCrystal.h>

char testo[101]="Questo esempio utilizza un testo molto lungo; si osserva che rientra nella seconda riga del display!";
// inizializza la libreria con il numero dei pin di interfaccia
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
// inizializza il display indicando il numero di colonne e di righe
lcd.begin(16, 2);
// scrivi il messaggio
for (int i=0; i<101; i++){
lcd.print(testo[i]);
delay(100);
}
delay(500);
for (int i=0; i<(101-16); i++){
lcd.scrollDisplayLeft();
delay(500);
}
}

void loop() {
}
Ultime modifiche: martedì, 15 marzo 2022, 19:17