Findet ihr einen Fehler den ich nicht gesehen habe ?
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
lcd.begin(16, 2);
}
void loop()
{
lcd.setCursor(0, 0);
lcd.print("Oben"); //Beginn beim ersten Zeichen in der ersten Zeile mit dem Text „Oben“.
delay (2000); //Zwei Sekunden warten.
lcd.clear(); //Display löschen.
lcd.setCursor(5, 1);
lcd.print("unten"); //Erneuter Beginn beim fünften Zeichen in der zweiten Zeile mit dem Text „Unten“.
delay (2000); //Zwei Sekunden warten.
lcd.clear(); //Display löschen.
}
Verwende dazu die Schaltfläche </> oben links im Editorfenster. Dazu den Sketch markieren und die Schaltfläche klicken, oder [ code] davor und [ / code] dahinter ohne Leerzeichen.
Damit wird dieser für alle besser lesbar, auch für mobile Geräte. Das kannst du auch noch nachträglich machen.
Da hast du wohl ein Kontaktproblem.
Es sieht aus, als ob eine Leitung nicht richtig verbunden ist.
Wenn ein Balken gesehen wird - passt zumindest der Kontrast.
Wenn ein LCD die Hälfte der Zeilen als Streifen ausgibt - ist Es nicht initialisiert.
Wer Genaueres wissen will, wird auf Sprut.de viel Lesestoff finden.
Seit Äonen nutze ich nur noch LCD mit BackPack, also I²C-Adapter-Platine - die Library's gibt's direkt 'steckerfertig' - wüsste nicht, wann ich das letzte Mal Probleme hatte.
Am Display sind wohl
1 Vss (SW am Poti)
2 Vdd (RO am Poti)
3 V0 (ORange am Poti)
4 RS (Uno D12)
5 R/W (Uno D11)
6 E fehlt komplett
...
11 DB4 (Uno D5)
12 DB5 (Uno D4)
13 DB6 (Uno D3)
14 DB7 (Uno D2)
Dann noch die Display-Beleuchtung stur an den Poti-Pins (also 5V)
Ich denke mir, daß die Library ggf. E statt R/W haben möchte - oder, daß E ganz gerne ebenfalls auf Vdd gelegt werden will.
E Enable
R/W Read(high)/Write(low)
Sofern Du das Display nicht auslesen willst (oder die Library Das eh nicht unterstützt), müsste man Mal recherchieren, welche Pins die Lib haben möchte.
MfG
Edit
Nach Sprut ist 'E' nicht für die Initialisierung nötig
RS und R/W bleiben während der ganzen Initialisierung auf LOW.