bin noch Relativ neu in der Arduino Welt,mein Problem ist das ich ein Zähler programmiert habe das bis
50 zählt aber nicht auf Null zurück springt. Habe viele Stunden im Netz verbracht und bin am verzweifeln. Hier der Code :
du solltest nach dem verlassen der for Schleife das Display löschen, da beim erneuten hochzählen die Zahlen einstellig sind und somit die 5 von der letzten 15 stehen bleibt.
Du kannst auch mal einen Blick auf "sprintf" werfen.
Damit kannst du sehr schön formatierte Ausgaben machen (z.B., wenn die größte Zahl 3stellig ist, dann kannst du mit sprintf von "001" über "010" bis "999" zählen).
Bedenke aber dass lcd.print(" ") zum “löschen” eines einzelnen Buchstabens so lange braucht wie lcd.clear() für das gesamte Display. Wenn du also mehr löschen willst, z.B. die kompletten Zeilen 2 bis 4, aber die erste erhalten bleiben soll, ist es oft sinnvoller erst lcd.clear() zu machen und die erste Zeile nochmal neu zu schreiben.
Und noch ein Tipp: Löschen würde ich immer erst direkt bevor erneut geschrieben wird, und nicht früher. Wenn zwischen löschen und neuem Schreiben zu viel Zeit vergeht in der das Display leer bleibt flackert die Anzeige.
gsezz:
ist es oft sinnvoller erst lcd.clear() zu machen und die erste Zeile nochmal neu zu schreiben.
Das ist generell schlecht und führt zu Flackern. Am vernünftigsten ist es man schreibt erst mal den aktuellen Text direkt drüber und füllt dann nur die Differenz zum alten mit Leerzeichen auf.
z.B. für drei Stellen linksbündig:
void printNumber(unsigned int value)
{
lcd.print(value);
if (value < 100) lcd.print(' ');
if (value < 10) lcd.print(' ');
}
Für rechtsbündig dreht man da nur herum
Hier hatte ich mal eine frei konfigurierbare Version gezeigt: