Forum: Mikrocontroller und Digitale Elektronik I2C LCD Display Arduino Problem


von Gabriel Staudinger (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich habe mir ein 20x4 LCD Display gekauft, welches über den I²C Bus 
angesteuert wird. Das ganze wird über einen PCF8574T gesteuert, der sich 
auf einer fertigen Platine befindet, die auf die Rückseite des Displays 
gelötet ist.

Habe das Display ganz normal mit +5V , GND , SDA(20) und SCL(21) 
verbunden (Verwende einen Arduino Mega 1280).
Wollte dann das Beispielprogramm "Hello World" ausprobieren, doch das 
Display zeigt keinen Text an.

Die Adresse lautet 0x27, was ich im Programm auch geändert habe. Auch 
mittels I2C Scanner wird mir diese Adresse angezeigt.
Ich weiß nicht mehr weiter, habe mich schon durch alle möglichen Foren 
gelesen, finde aber keine Lösung.

Mfg Gabriel

von Karl H. (kbuchegg)


Lesenswert?


: Bearbeitet durch User
von Gabriel Staudinger (Gast)


Lesenswert?


von Gabriel Staudinger (Gast)


Lesenswert?

Das Display flackert kurz und die Hintergrundbeleuchtung schaltet sich 
danach aus, wenn ich das Beispielprogramm "Hello World" lade.

von Georg B. (diereinegier)


Lesenswert?

Vielleicht zieht die Hintergrundbeleuchtung zuviel Strom.
Läuft es, wenn Du den Jumper für die Hintergrundbeleuchtung abziehst?

von Gabriel Staudinger (Gast)


Lesenswert?

Nein, ändert sich auch nichts.

von google (Gast)


Lesenswert?

Hier gibt es Infos zu diesem Display:

http://arduino-info.wikispaces.com/LCD-Blue-I2C#v3

von Gabriel Staudinger (Gast)


Lesenswert?

Nein das ist nicht mein Display.

Der I2C Bus Controller auf der Rückseite sieht anders aus als auf dem 
Foto.

Außerdem hab ich den Beispielcode auch schon probiert, der funktioniert 
auch nicht.

von google (Gast)


Lesenswert?

Zumindest wird dort die offenbar gleiche Bibliothek doch deutlich anders 
benutzt als bei Dir. Bist Du Dir sicher, dass Dein Programm so stimmt? 
(Ich kenne die Bibliothek nicht.)

von Karl H. (kbuchegg)


Lesenswert?

google schrieb:

> Bist Du Dir sicher

:-)
Der war gut.

(Sorry. Could not resist.)

: Bearbeitet durch User
von Gabriel Staudinger (Gast)


Lesenswert?

Das ist das Beispielprogramm, welches die Bibliothek beinhaltet.
Ich glaube kaum, dass das Programm falsch ist.

von google (Gast)


Lesenswert?

@Kbuchegg Lach nicht. ;-)

@Gabriel

Mir fehlt in Deinem Programm das hier:
1
/*-----( Declare Constants )-----*/
2
/*-----( Declare objects )-----*/
3
// set the LCD address to 0x27 for a 20 chars 4 line display
4
// Set the pins on the I2C chip used for LCD connections:
5
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
6
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
7
[/]
8
9
und das hier:
10
11
[c]
12
lcd.begin(20,4);   // initialize the lcd for 20 chars 4 lines, turn on backlight

von Gabriel Staudinger (Gast)


Lesenswert?

Wenn man es so macht wie du beschrieben hast:

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

Bekommt man folgende Fehlermeldung:

'POSITIVE' was not declared in this scope


Wenn ich den Befehl lcd.begin(20,4); hinzufüge ändert sich auch nichts.

von google (Gast)


Lesenswert?

Welche Bibliothek genau benutzt Du? Wo hast Du Deine her? (link?) Es 
gibt offenbar verschiedene mit gleichem Namen. Auf der Bibliothek, die 
auf von mir verlinkten Seite benutzt wird, gibt es kein so "kurzes" 
Beispielprogramm.

PS: Die von mir angeführte Zeile dient dazu, vom Standard abweichende 
Belegungen des PCF8574T an das LCD anzupassen. Das müßtest Du im Zweifel 
für Dein Display selbst herausfinden. Die Platine, die ich verlinkt 
habe, ist Deiner zumindest optisch (Lage des PCF8574 zu den 
LCD-Kontakten) sehr ähnlich.

von Gabriel Staudinger (Gast)


Lesenswert?

http://playground.arduino.cc/Code/LCDi2c

Ich hab die Bibliothek von der Arduino Seite runtergeladen.

von Gabriel Staudinger (Gast)


Lesenswert?

Es funktioniert!!
Habe jetzt die andere Bibliothek heruntergeladen.

von google (Gast)


Lesenswert?

Das freut mich. Viel Spaß! :-)

von Thomas (Gast)


Lesenswert?

Das ist wohl das größte Problem am Arduino, wenn man nicht wirklich weiß 
was das Modul eigentlich wirklich auf dem I2C senden sollte und deshalb 
keine andere Möglichkeit hat als irgendwelche miesen Libarys zu 
tauschen.

Richtige Datenblätter sind bei so günstigem China-Zeugs leider oft 
schwer zu finden bis nicht vorhanden, und die Libs zu reversen ist auch 
keine schöne Arbeit...

Freut mich trotzdem das es jetzt geht :-)

Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.