Re: Sainsmart I2C LCD 2004 in Betrieb nehmen

Hi! Ich versuche selbst gerade das besagte Display in Betrieb zu nehmen. Nur leider funktioniert's bei mir irgendwie nicht. Die Anzeige bleibt leer bzw. es werden lediglich die erwähnten ausgefüllten Zeilen in Zeile 1 und 3 gezeigt. Unten mein Sketch.

Hinweis: Ich habe am Anfang kurz VCC und GND verkehrt herum angeschlossen. Habe ich damit vielleicht das Display schon geschrottet? Wobei die Hintergrundbeleuchtung noch funktioniert und auch die vollen Zeilen werden angezeigt, wie bereits erwähnt.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

int counter = 0;

void setup() {
  Serial.begin(115200);
  lcd.begin(20,4); // initialize the lcd for 20 chars and 4 lines, turn on backlight
  for(int i = 0; i< 3; i++)
  {
    lcd.backlight();
    delay(250);
    lcd.noBacklight();
    delay(250);
  }
}

void loop() {
  counter++;
  lcd.setCursor(0,0);
  lcd.print("Hello World");
  lcd.setCursor(0,1);
  lcd.print("Counter: ");
  lcd.print(counter);
  Serial.println(counter);
  delay(2000);
}

tyradux:
Hi! Ich versuche selbst gerade das besagte Display in Betrieb zu nehmen. Nur leider funktioniert's bei mir irgendwie nicht. Die Anzeige bleibt leer bzw. es werden lediglich die erwähnten ausgefüllten Zeilen in Zeile 1 und 3 gezeigt. Unten mein Sketch.
....

Selbst wenn es ein ähnliches Problem ist, solltest du nicht einen uralten Thread kapern.

Mach mit deinem Problem einen neuen Thread auf und beschreibe dein Problem.

Edit:
Eine falsche Polung der Betriebsspannung wird meist mit einem defekt des Bauteils quittiert.
Das die Beleuchtung noch funktioniert, hat keinen Einfluss auf die Elektronik im Display bzw. I2C-Adapter.

OK, sorry. Ich dachte, es wäre besser, keinen neuen Thread aufzumachen. Werde ich in Zukunft aber berücksichtigen.

Gut, dass gehe ich mal davon aus, dass ich das Display geschrottet habe. Doof. Na ja, ich werde dann mal ein Neues bestellen und nochmals testen.

Hi

Wenn das Display die besagtnen Klötzchen auf jeder 2.ten Zeile anzeigt, wird Das noch ok sein.
So meldet sich ein Display, wenn Es NICHT initialisiert ist.
Lesestoff dazu:Sprut, LCD

Wenn Du genug 'Beinchen' an Deinem Arduino frei hast, kannst Du versuchen, das Display im 8bit oder 4bit-Modus ans Laufen zu bringen.
Da das Hintergrundlicht noch geht, dürfte aber auch die Ansteuerung per I²C noch klappen, da die LED auch nur von einem der Ausgänge des Schieberegister gesteuert wird.
Folglich dürfte Dein Display nebst I²C-Umsetzer noch 'tun' - Du halt bisher nur in der falschen Sprache mit Dem Umsetzer bzw. durch Ihn mit dem Display schwätzen.

So gehe ich davon aus, daß Du ein exotisches Display Dein Eigen nennst, also Etwas, was nicht HD44780 kompatibel ist.
... oder Du einen Bock in Deinem Code hast ... wäre auch noch möglich ...

MfG

PS: Den URL-Tag repariert (geschweifte Klammern klappen hier nicht)
... somit habe ich wohl erneut nicht die Vorschau benutzt (1. sieht man dann so was & 2. kommt man beim Abschicken des Post in den Thread und nicht auf die Übersicht)

@michael_x (#18)
jupp :wink:

Lass doch erst mal aus den Beispielen das Programm i2C-Scan laufen um zu schauen auf welcher Adresse
das Display wirklich liegt, respektive ob sich überhaupt jemand auf dem Bus meldet.

Ulli

@postmaster_ino:
Du meinst sicher diesen Link als Lesestoff
( LCD-Displays )

Guten Morgen,

das Display ist doch nicht defekt. Ich musste lediglich die Zeile

LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

auf

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

ändern. Somit läuft's. Falls es wen interessiert, ich habe das Display unter Link [1]. In den Rezensionen wird genau der Punkt mit der Änderung auf 0x27 erwähnt.

[1] https://www.amazon.de/SainSmart-Character-Display-Mega2560-Duemilanove/dp/B007XRHBKA/ref=sr_1_1?s=computers&ie=UTF8&qid=1523431226&sr=1-1&keywords=SainSmart+IIC%2FI2C%2FTWI+Serial+2004+Character+20x4+LCD+Display+Modul+Shield+für+Arduino+UNO+Mega2560+Duemilanove+R3+AVR+ATMEL+Robot

tyradux:
Somit läuft's.

Das ist gut, danke für die Rückmeldung.

Für das nächste Mal:

  • Die Adresse hättest Du mit dem I2C-Scanner herausfinden können.
  • Andere Adapterplatinen haben eine variable Adresse mit Lötbrücken A0, A1 und A2. Dann kann man Displays anschließen.
  • Die Bibliothek hd44780 ermittelt selbst Adresse und Konfiguration.