LCD mostrar texto en movmiento con millis

Este es un ejemplo que muestra un texto en movmiento usando la funcion de delay. Hay manera de reemplazar delay con la funcion de millis?

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);  
String scroll_text = "Esto es un ejemplo de texto en movimiento.";

void setup(){
  lcd.init();
  lcd.clear();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print(F("Scrolling Text"));
}

void loop(){
  scrollText(1, scroll_text);
}

void scrollText(int row, String text) {
  for (int i=0; i<20; i++) {
    text = " " + text;  
  } 
  text = text + " "; 
  for (int pos = 0; pos < text.length(); pos++) {
    lcd.setCursor(0, row);
    lcd.print(text.substring(pos, pos + 20));
    delay(300);
  }
}

Código corregido

Tu publicación fue ** MOVIDA ** a su ubicación actual ya que es más adecuada.

¿Podría también tomarse unos minutos para Aprenda a usar el foro .

Aquí puede encontrar más ayuda general y consejos para la resolución de problemas.

Tal como lo planteas no se si usar millis() evitará el parpadeo que seguramente tienes.
Sabías que los LCD disponen de una función scroll izquierda o derecha?
Revisa esto https://docs.arduino.cc/learn/electronics/lcd-displays

Ojo que el scroll funciona bien en los LCD 16x2 pero en los 20x4 no trabaja como se espera.
Ver
Error al desplazar mensaje en pantalla lcd - #7 by andreefeelip
para más detalles

Saludos

Gracias.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.