LaufText Arduino

Gast #4553003
Lesenswert?
• ▲
▼
1
lcd.begin(16, 2);
2

3
void loop() {
4

5
for(int a = 16, b=0; a >= 0-b; a--)
6
{
7
  int textlength = 4;
8
  b = textlength;
9
  lcd.setCursor(a, 1);
10
  lcd.print("TEST");
11
  lcd.setCursor(a+b,1);
12
  lcd.print("         ");
13
  delay(200);
14
}
15
 }

Ich möchte eine Laufschrift die von Rechts nach Links geht.
Das oberige Beispiel zeigt was ich möchte.

TEX|Txxxxxxx|xxx         ->> | = Displayrand
xxx|xxxxxxxT|EXT

Leider muss ich bei meinem Beispiel die Textlänge jedes mal eingeben 
damit er nachher die "zurückbleibenden" Buchstaben jedes mal wieder mit 
einem "Leerschlag" überschreibt.

Ich habe auch schon Probiert die for-Schleife ins z.b "a >= -16" laufen 
zu lassen aber dann fängt er an in der Oberen Zeile zu schreiben. Dies 
möchte ich auch nicht.
1
lcd.scrollDisplayLeft();
Wollte ich nicht benutzen da dann das ganze "Display" bzw die Obere und 
Untere Zeile verschoben werden.

Hat jemand eine bessere Lösung ? Oder einen anderen Lösungsansatz 
anzubringen ?


Mfg Koe
Gast #4553035
Lesenswert?
• ▲
▼
Hallo,

erst Zeile komplett löschen und dann den String an der richtigen Stelle 
ausgeben? Ich benutze kein Arduino also nur ein Denkanstoß.
1
for(uint8_t spalte = 15, spalte, spalte--){
2
    lcd.setCursor(0,1);
3
    lcd.print(space(16));
4
    lcd.setCursor(spalte, 1);
5
    lcd.print("Test");
6
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren