2*16 Display

Guten Abend,

habe einen Arduino Uno und mir letzte woche eine LCD Dot Matrix bei Reichelt bestellt.

LCD-162C-BL + Anschlüsse zum anlöten etc.

Alles wie in vielen Internetbeispielen auf meinem Board angeschlossen und das einzige was ich sehe ist, das die erste Zeile nur aus schwarzen Kästen besteht, deren Kontrast ich ändern kann. Die zweite Zeile besteht aus auch aus schwarzen Kästen deren Kontrast sich nicht ändern lässt.

Lötstellen alle überprüft und alle Kontakte durchgemessen. Ist es kaputt? Hoffe Ihr könnt mir weiterhelfen :slight_smile:

Das ist das Beispiel Programm:

#include <LiquidCrystal.h>

// Connections:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

int backLight = 13;    // pin 13 will control the backlight

void setup()
{
  pinMode(backLight, OUTPUT);
  digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
  lcd.begin(16,2);              // columns, rows.  use 16,2 for a 16x2 LCD, etc.
  lcd.clear();                  // start with a blank screen
  lcd.setCursor(0,0);           // set cursor to column 0, row 0 (the first row)
  lcd.print("Hello, World");    // change this text to whatever you like. keep it clean.
  lcd.setCursor(0,1);           // set cursor to column 0, row 1
  lcd.print("hacktronics.com");
  
  // if you have a 4 row LCD, uncomment these lines to write to the bottom rows
  // and change the lcd.begin() statement above.
  //lcd.setCursor(0,2);         // set cursor to column 0, row 2
  //lcd.print("Row 3");
  //lcd.setCursor(0,3);         // set cursor to column 0, row 3
  //lcd.print("Row 4");
}

void loop()
{
}

Die zweite schwarze Reihe ist komisch.
Kannst Du uns den Link zum Display geben.
Grüße Uwe

Hmpf, da du die Helligkeit ändern kannst, scheidet eine interne Unterbrechung des Potis schon mal aus.
Andererseits... bist du sicher Pin 1 und 16 nicht vertauscht zu haben? Es gibt Displays, mit den Anschlüssen oben und welche mit den Pins unten. Da muß man schon ganz genau hinsehen. Ein Link zum Angebot wäre jetzt hilfreich.

Gruß Gerald

Hier der Link, Artikelnummer nannte der Threadersteller ja bereits: Reichelt-Link

Das beschriebene Verhalten klingt doch ganz normal für ein invertiertes Display. In der Regel wird die erste Zeile ja mit Blöcken gefüllt, sowie eine Spannung anliegt. Für diese kann man dann auch den Kontrast entsprechend einstellen. Die Bildpunkte der zweiten Zeile schimmern je nach Betrachtungswinkel blockweise durch, sind aber nicht gefüllt. Folglich hat das Einstellen des Kontrastes keinen Einfluss.
Bleibt nur noch ein Problem: Warum stellt das Display mit dem Sketch nichts dar? Hast du mal ein aussagefähiges Foto von deinem Aufbau? Und bitte kein Monsterfoto mit 12 Megapixeln... :wink:

Morgen,

danke für die schnellen Antworten;)
So hier mal ein Aufbau kann man glaub ich nicht wirklich viel drauf erkennen habs nochmal neu nach diesem Beispiel angeschlossen und das Programm benutzt:http://arduino.cc/en/Tutorial/LiquidCrystalScroll
http://s1.directupload.net/file/d/3206/eoe3p829_jpg.html

So Habe Kontrast und Beleuchtung jeweils an 2 Potis am laufen. Die Hintergrundbeleuchtung funktioniert einwandfrei.

MfG Philipp

Na, das üben wir nochmal mit dem Bild einbinden - noch ist nichts zu sehen. :wink: Wenn du vor dem "http://..." ein Leerzeichen machst, wird das auch automatisch als (anklickbarer) Link dargestellt.

Nun ist ja das Bild verlinkt. Hast du Pin 5 vom LCD auf Masse gesetzt? Kann man hinter den Kabelwürsten :wink: nicht sehen.

Na genial! Da verwendet Reichelt eine abweichende Bezeichnung, wie der Hersteller! =(
Laut Bremsenreiniger hat er ein LCD-162C-BL bestellt. Im von reichelt verlinkten PDF gibt es aber nur ein EA W162B-N3LW und ein EA W162B-NLW. Welches von den beiden Bremsenreiniger nun erhalten hat, kann nur er am Objekt selber rausfinden.
Das EA W162B-NLW hat die Pin's unten und eine ganz verquere Pin-Belegung. 14-1,15,16 - um das zu sehen, muß man schon fast in die Zeichnung kriechen. Das würde erklären, warum die LED Beleuchtung funktioniert, das Display aber nichts anzeigt (und wenn dem so ist, vielleicht auch nie wieder was Gescheites anzeigen wird).
Für den Preis bekommt man in der Bucht oder beim Chinesen seines Vertrauens schon fast ein halbes Dutzend 16x2 Displays und hat wahrscheinlich noch weniger Scherereien damit :slight_smile:

Gruß Gerald

Wie man aber im Foto sieht, sind die Anschlüsse oben links. Demnach dürfte es sich mit hoher Wahrscheinlichkeit um das EA W162B-N3LW handeln. Dort ist die Nummerierung der Pins mit 1 bis 16 angegeben, also "Standard".

Was bei dem Display oben oder unten ist, sieht man nicht, da keine Beschriftungen erkennbar sind. Und ob die Zeichen nun richtig rum oder Kopf stehen, sieht man nicht, weil keine angezeigt werden. Auch wenn ich es ihm nicht wünsche, aber es ist eine in Betracht zu ziehende Möglichkeit, das er das EA W162B-NLW erwischt hat.

Also das is die Rückseite vom Display http://s1.directupload.net/file/d/3206/f5zfyil4_jpg.html

Pin 5 hab ich auf Masse liegen und nochmal die Lötstellen überprüft.

Danke nochmal für die Hilfe;)

MfG Philipp

Edit: Kann es sein, dass ich das Display beim Löten beschädigt habe? Oder wie könnte man es sonst "ausversehen zerstören"?
Das ist das erste mal das ich hiermit was mache...

Bremsenreiniger:
Edit: Kann es sein, dass ich das Display beim Löten beschädigt habe? Oder wie könnte man es sonst "ausversehen zerstören"?
Das ist das erste mal das ich hiermit was mache...

Mir ist das persönlich noch nie passiert, dass ein Display vom Löten Schaden genommen hat. Deine Lötkünste sind vielleicht noch nicht überragend, aber tendentiell hast du eher zu kurz gelötet und nicht die ganze Padfläche mit Lötzinn benetzt.

Was mir sonst noch auffällt: Du initialisierts das LCD mit LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);, nutzt aber nicht Pin 10 des Arduinos. Entsprechend der Reference (Link) müsste es dann eher so aussehen: LiquidCrystal(rs, enable, d4, d5, d6, d7).

@STH gerade getestet läuft auch nicht -.-

MfG Philipp

Bremsenreiniger:
@STH gerade getestet läuft auch nicht -.-

Was genau hast Du probiert?

Enable (LCD Pin 6) an Arduino Pin 10 anzschließen, mit dem vorhandenen Code?

Oder den Code auf "LiquidCrystal lcd(12, 10, 11, 5, 4, 3, 2);" zu ändern und die Verdrahtung so zu lassen?

Oder den Code auf "LiquidCrystal lcd(12, 11, 5, 4, 3, 2);" zu ändern und die Verdrahtung so zu lassen?

Oder was genau?

Außerdem liegt bei Deinen Potis auch noch ein Falschanschluss vor, wenn Du den Kontrast nicht so weit runtergegeln kannst, dass in der zweiten Zeile keine Pixel mitleuchten.

So habe jetzt diesen Beispielcode drinn :

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.print("a");
}

void loop() {}

Den Kontrast kann ich komplett runterregeln, aber wenn das Poti im Vollausschlag ist, dann Leuchtet die zweite Zeile halt ein bisschen heller. Weiß nicht genau ob das so richtig ist....

MfG Philipp

In deinem letzten Codeschnipsel (bitte Code-Tags verwenden!) hast du kein lcd.begin() drin. Könntest du dann nach dem lcd.begin(16,2); noch ein kurzes delay (100); einfügen?

Bremsenreiniger:
So habe jetzt diesen Beispielcode drinn :

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Der Code wäre korrekt für die Verdrahtung:
RS (LCD pin 4) an Arduino Pin 12
Enable (LCD pin 6) an Arduino Pin 11

Und trotz des viel zu hoch eingestellten Kontrasts sollte etwas sichtbar werden.

Hast Du mal an allen Kabeln gewackelt, ob vielleicht Kontaktprobleme vorliegen?

Hast Du vielleicht Litze ins Breadboard gesteckt und fehlgeleitete Einzeldrähte irgendeiner aufgedröselten Litze stellen unbeabsichtigte Kontakte her?

lcd.begin(16,2); brauchst Du nicht?

So ich verzweifel hier gleich xD

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
  lcd.begin(16, 2);
  
  lcd.print("xcvcxvxcv");
  delay(1000);
}

void loop() {}

Das sollte normal der minimalste Code sein habe das delay auch schon vor das print geschoben mit 1000 und 100.
Gerade nochmal alle Kontakte überprüft(auch ob sie sich unten iwie Kreuzen) und den Kontrast mal runtergestellt.

Weiß einer ob es möglich ist das Display zu reklamieren/umzutauschen? Weil ich ja nu schon Kontakte draufgelötet habe....

MfG Philipp

Bremsenreiniger:
Weiß einer ob es möglich ist das Display zu reklamieren/umzutauschen? Weil ich ja nu schon Kontakte draufgelötet habe....

Ja, der Code ist - bei einer dem Code entsprechenden Beschaltung - vollkommen in Ordnung.

Defekt gelieferte Ware kannst Du als Gewährleistungsfall reklamieren.

Ware, die in an sich bei der Lieferung in Ordnung war, kannst Du bei Versandkäufen innerhalb der Widerrufsfrist zurückgeben, wenn Du sie vorher nicht verbastelt hast.

Ware, die erst bei Dir und von Dir defekt geworden ist, geht immer auf Deine Kappe.

Bist Du eigentlich sicher, dass die verwendeten Arduino-Pins noch alle funktionieren und Du nicht schon am Arduino den einen oder anderen benutzten Pin gehimmelt hast?