Hallo
Ich möchte eine bestimmte Nachricht auf meinem Display angezeigt bekommen, dies funktioniert ja auch teilweise. Aber wenn die Nachricht einmal durchgelaufen ist sollte es mir die Nachricht noch einmal anzeigen, solange bis die Zeit vorbei ist. In meinem Fall wird die distance die ganze Zeit angezeigt bis die Zeit abgelaufen ist. Vermute den Fehler in der for-Schleife.
Vielleicht kann mir ja jemand von eich helfen.
LG
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int zeilen = 16;
int spalten = 2;
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, zeilen, spalten); //Objekt erstellen
String messageToScroll = "Die Entfernng bis zum Ziel betraegt noch ";
double dist = 2.5;
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
}
void loop() {
lcd.setCursor(0, 0);
scrollText(messageToScroll, 250, zeilen);
delay(1000);
lcd.clear();
}
void scrollText(String message, int delayTime, int zeilen) {
double distance = dist;
for (int i = 0; i < zeilen; i++) {
message = message + " " + distance + "m";
}
for (int pos = 0; pos < message.length(); pos++) {
lcd.setCursor(0, 0);
lcd.print(message.substring(pos, pos + zeilen));
delay(delayTime);
}
}