Hallo, ich habe hier ein 20x4 LCD und ein 4x4 Keypad an einem Arduino Mega 256.
Nun will ich mir ein einfaches Menü zusammenbauen, stolpere aber dabei über das LCD, das verhält sich nicht immer gleich. Ich habe eine Funktion namens MainScreen(), die ich im Setup aufrufe. Da wird der Bildschirm sauber aufgebaut, so wie er sein soll. Danach drücke ich die Taste A, das Display wird gelöscht und rufe danach erneut MainScreen() auf. Diesmal steht nur Kuddelmuddel auf dem Display. Wenn ich die Taste B drücke, wird direkt wieder MainScreen aufgerufen, erneut Kuddelmuddel.
Nach einem Reset sieht das Display wieder original aus.
Der komplette Code ist hier
https://pastebin.com/mfRVn0Wp
Ich bin echt am Verzweifeln und für jeden Hinweis dankbar
Direkt nachdem ich diesen Thread eröffnet habe, habe ich den Fehler gefunden. Die Pinbelegung! Man darf wohl die Pins der seriellen Schnittstelle 0 nicht benutzen!
Setze Deinen Code bitte direkt ins Forum. Benutze dazu Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
Dann ist er auch auf mobilen Geräten besser lesbar.
Das kannst Du auch noch nachträglich ändern.
Gruß Tommy
a) stelle den Sketch hier ins Forum. Schau nach wie man code-Tags erstellt und poste den Sketch hier.
b) LiquidCrystal lcd(1,2,3,4,5,6); deutet darauf, dass du pin 1 für das LCD verwendest. pin 0 und pin 1 werden jedoch auch von der Seriellen Schnittstelle belegt. Du sollst daher pin 1 nicht für das LCD verwenden. Bessere das mal aus und berichte wieder.