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
Gabriel Staudinger schrieb: > Hallo, > > Ich habe mir ein 20x4 LCD Display gekauft, zufällig das hier? http://www.pollin.de/shop/dt/NDU4OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_LCD_I_C_Modul.html Wenn ja, hast du das hier gelesen http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/notes_for_pollin_interface.txt http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/
:
Bearbeitet durch User
Nein, das ist es nicht. Es ist das hier: http://www.amazon.de/gp/product/B00HTTZO9C?psc=1&redirect=true&ref_=oh_aui_detailpage_o01_s00
Das Display flackert kurz und die Hintergrundbeleuchtung schaltet sich danach aus, wenn ich das Beispielprogramm "Hello World" lade.
Vielleicht zieht die Hintergrundbeleuchtung zuviel Strom. Läuft es, wenn Du den Jumper für die Hintergrundbeleuchtung abziehst?
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.
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.)
google schrieb: > Bist Du Dir sicher :-) Der war gut. (Sorry. Could not resist.)
:
Bearbeitet durch User
Das ist das Beispielprogramm, welches die Bibliothek beinhaltet. Ich glaube kaum, dass das Programm falsch ist.
@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 |
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.
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.
http://playground.arduino.cc/Code/LCDi2c Ich hab die Bibliothek von der Arduino Seite runtergeladen.
Es funktioniert!! Habe jetzt die andere Bibliothek heruntergeladen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.