Anfänger braucht Hilfe: LCD 1602A zeigt nur Balken

Hallo zusammen,


#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {

  delay(1000); 
  
  lcd.begin(16, 2);
  
  lcd.setCursor(0, 0);
  lcd.print("Es laeuft!");
  
  lcd.setCursor(0, 1);
  lcd.print("Arduino & iPad");
}

void loop() {
}
[grid]
![IMG_7480|375x500](upload://oerSLha5wQwcGZIPEog9CKZHhs1.jpeg)
![IMG_7479|375x500](upload://tW3XeYE8gMhyGE4PvMr6VNqNDR6.jpeg)
![IMG_7478|375x500](upload://12tFnQjjJJkrwOobFEFBlkj0aCz.jpeg)
[/grid]

ich fange gerade erst mit dem Arduino an und sitze an meinem ersten Projekt. Ich versuche, ein klassisches LCD-Display (Modell 1602A Ver5.5) an einen Arduino Uno anzuschließen.

In der Wokwi-Simulation funktioniert mein Code und die Schaltung perfekt – auf dem echten Display sehe ich aber leider nur die typischen dicken, ausgefüllten Balken in der ersten Zeile. Der Text wird nicht geladen.

Die Balken sind der "Setup"-Bildschirm des Displays zur Einstellung des Kontrasts. Bleiben die trotz Ansteuerung werden keine Daten übermittelt.
Kontroliere nochmal den mechanischen Aufbau.
Grüße Uwe

Oder der Kontrast ist auf Maximum getrimmt.

Die angegebenen Pins passen?

So sollte es aussehen, nur mit Widerstände anstatt Poti ist schwer den richtigen Kontrast erwischen, noch einfaher ist ein I2C modul drauflöten.

zeig mal ein Bild von deiner Verkabelung. Wir müssen jedes einzelne Kabel eindeutig erkennen können.

Was gerne vergessen wird ist, wenn RW nicht angesteuert wird, dann muss es auf GND gelegt werden.

Wenn der Kontrast komplett falsch ist, dann sind die schwarzen balken in beiden Zeilen.
Wenns nur eine Zeile betrifft, dann ist es sehr wahrscheinlich falsch initialisiert z.B. wegen einer falschen Verkabelung.

Als erstes ein Tipp:
Du weisst gar nicht, ob Dein Code überhaupt bis zur Ausgabe kommt.

Ändere den Code, dass Du wenigstens sicher sein kannst, dass der ansatzweise macht was Du willst:


#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup()
{
  Serial.begin(115200);
  delay(1000);
  Serial.prinln(F("Start...."));
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  Serial.println(F("Ausgabe"));
  lcd.print("Es laeuft!");
  lcd.setCursor(0, 1);
  lcd.print("Arduino & iPad");
}

void loop()
{}

Dann hab ich mal Deine Bilder befreit.



Was ist das da was ich rot eingekreist habe?

Und dann ist das mit den 4 gleichen Farben recht ungünstig. Stecken die Kabel wirklich in 5/4/3/2 oder sind die evtl. 1 verrutscht von 4 bis 1?

Bei D7 am Display sieht die Lötstelle komisch aus. Kann eine optische Täuschung sein, aber schau mal, ob der Pin wirklich richtig verlötet ist.

Soweit mein erster Eindruck...

Man sollte schon antworten auch wen es funktioniert.

@lennart_hng man sollte schon antworten auch wen es funktioniert

Leider kommt das immer häufiger vor. Vielen ist es peinlich seine Fehler einzugestehen.