Forum
Arduino und LCD2004 mit I2C (Bauelemente)
» Jetzt habe ich mein vierzeiliges Display gegen mein zweizeiliges Display
» getauscht. Das Display gibt natürlich nur die ersten beiden Zeilen aus,
» aber es funktioniert nun schon über 30 Minuten, auch ohne delay.
» Ich gehe jetzt davon aus, dass der Code in Ordnung ist.
Ja der Code schaut gut aus. Auch, dass das ständige Schreiben den Controller aus dem Tritt bringen könnten hast du mittlerweile ausgeschlossen.
Hast du das zweizeilige Display mit den gleichen Kabeln angeschlossen wie das vierzeilige? Wenn nicht, versuch erst mal die anderen Kabel.
» Kann evtl. doch das Display defekt sein?
Ich hätte noch einen Vorschlag den du nochmal ausprobieren könntest.
// BEGIN CODE
#include
#include
LiquidCrystal_I2C lcd(0x27, 20, 4); // Set the LCD I2C address
int i = 0;
// Bestimtm die Wartezeit zwischen jedem Umschalten
const unsigned int DELAY = 5000;
void setup() {
lcd.begin(20,4);
lcd.init(); // Initialisiere das Display
lcd.backlight(); // Aktiviere die Hintergrundbeleuchtung, sonst bleibt das Display dunkel.
lcd.setCursor(0,0);
lcd.print("Dies ist ein 1. Text");
lcd.setCursor(0,1);
lcd.print("Dies ist ein 2. Text");
lcd.setCursor(0,2);
lcd.print("Dies ist ein 3. Text");
lcd.setCursor(0,3);
lcd.print("Dies ist ein 4. Text");
delay(DELAY); // warten
lcd.setCursor(0,0);
lcd.print(" ");
}
void loop() {
lcd.noBacklight(); // licht aus
delay(DELAY); // warten
lcd.backlight(); // licht an
lcd.setCursor(0,0);
lcd.print("Loop ");
lcd.print(++i); // counter hochzählen und ausgeben
delay(DELAY); // warten
}
// END CODE
Der Code schreibt erst mal deinen Text im Setup auf das Display. Dann wird fünf Sekunden gewartet. Danach wird alle fünf Sekunden das Display dunkel. Danach wird ein Zähler hochgezählt, in der ersten Zeile ausgegeben und das Display für fünf Sekunden eingeschaltet. Die Zeilen zwei bis vier bleiben unberührt.
Das ganze lässt du dann mal eine Zeit lang laufen und schaust ob das ein/ausschalten immer klappt, ob die Zeile eins auch immer sauber geschrieben wird, ob die Zeilen zwei bis vier sauber geschrieben werden.
Ist Zeile eins irgendwann Kaputt und der Rest passt könnte es am I2C-Chip liegen, zeigt das ganze Display wieder Mist an ist es wahrscheinlicher der Display-Chip und wenn alles klappt könnte es an der Spannungsversorgung oder dem Dauerbetrieb der Hintergrundbeleuchtung liegen.
Gesamter Thread:
