#include <LiquidCrystal.h> //Incluimos la librerÃa
#define COLS 16 //columnas del LCD
#define ROWS 2 //renglones del LCD
#define VELOCITY 200 // Esta es la variable de velocidad del texto
String mensaje = "Esta es la primer práctica para la materia sobre IoT en la UDG Virtual";
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);// Indicamos los pines que vamos a utilizar a través del constructor "LiquidCrystal"
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //Configuramos el monitor de serie con la frecuencia de 9600 baudios
lcd.begin(COLS, ROWS); //Se configuran las filas y las columnas
lcd.clear(); //Al iniciar siempre limpiamos la pantalla
}
void loop() {
lcd.setCursor(0,0); //Nos posicionamos en la columna 0, fila 0 (0,0)
int tam_mensaje = mensaje.length();//Calculamos el tamaño del mensaje y lo guardamos en la variable "tam_mensaje"
//iniciamos el bucle
for (int i = tam_mensaje; i >= 0; i--) {
String subMensaje = mensaje.substring(i+1);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(subMensaje);
delay(VELOCITY);
}
for(int i=1; i<=16; i++){
String subMensaje = mensaje.substring(i+1);
lcd.clear();
lcd.setCursor(i,0);
lcd.print(subMensaje);
delay(VELOCITY);
}
lcd.clear();
delay(2000);
for(int i=16; i>=1; i++){
String subMensaje = mensaje.substring(i-1);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(subMensaje);
delay(VELOCITY);
}
//delay(2000); // Espera 2 segundos antes de continuar
//lcd.setCursor(0, 1);
//lcd.print("Practica UDG");
}