I2C LCD, zeigt kein Text an...

Hallo ihr,

Ich hatte vor einiger Zeit ein normales LCD ohne i2c. Da hat das Display auch schon keinen Text angezeigt... Jetzt habe ich mir ein neues display und ein i2c angelegt. Jedoch zeigt es wieder keinen Text an... Ich bin mir sicher das es nicht an einem Hardwarefehler liegt. Kann mir jmd. helfen?

Danke im Voraus, von euch!

LG ScippiTV

scippitv:
....Kann mir jmd. helfen?

Danke im Voraus, von euch!

Und wie sollen wir dir helfen, wenn wir deine Hardware und deinen Sketch nicht kennen.

Gedanken lesen oder wie soll das gehen ?

  1. Arduino Uno

  2. Standard 16x02 (lcd)

  3. i2c (I2C IIC Serielle Schnittstelle für LCD Display 1602 und 2005, 0,98 €)

  4. Sketch:

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

LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup()
{
lcd.begin(16,2);
lcd.clear();
lcd.print("hello world!");
}

void loop() {}

Danke!

Prüfe mal mit einem I2C-Scanner ob die I2C-Adresse korrekt ist.

Und I2C richtig verdrahtet inkl. Pullup-Widerstände (SDA+SCL) gegen +5Volt

Danke erstmal!

Leider bin ich noch ein totaler Anfänger. Kannst du mir genauer sagen was für Wiederstände und wo ? Das mit dem Scanner habe ich schon... Habe bis jz. einfach nur die Verkabelung (4 Kabel zum arduino) mehr nicht.

Hallo,
wie HotSystems schon schrieb: Je einen Widerstand (z.B. 4,7 kOhm) von SDA an +5V und von SCL nach +5V.
Der Sketch sieht für mich auch etwas ungewöhnlich aus. Ich selbst betreibe I2C-LCDs nach folgendem Muster:

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

LiquidCrystal_I2C lcd( 0x3F, 16, 2 );

void setup()
{
  lcd.init();                               //  NICHT begin(...)

  lcd.backlight();                          //  Backlight "ON" (!)
  lcd.print( "Hallo Welt" );                //  Text schreiben  
}
void loop()
{}

Versuch es mal damit. Und denk daran, auch mal am "Kontrast" zu drehen.
Alternativ auch mit der Adresse 0x38, je nach dem wie die Adress-Jumper gesetzt sind.
Rudi

scippitv:
Leider bin ich noch ein totaler Anfänger. Kannst du mir genauer sagen was für Wiederstände und wo ? Das mit dem Scanner habe ich schon... Habe bis jz. einfach nur die Verkabelung (4 Kabel zum arduino) mehr nicht.

Hier findest du noch weitere Infos zu I2C am Display:

https://arduino-info.wikispaces.com/LCD-Blue-I2C

Und die Widerstände jeweils 4,7 kOhm von SDA gegen +5Volt und SCL gegen + 5Volt.

RudiDL5:
Der Sketch sieht für mich auch etwas ungewöhnlich aus. Ich selbst betreibe I2C-LCDs nach folgendem Muster:

Das hängt mit der verwendeten Library zusammen.
Das passt im Sketch alles.

Danke euch!

LG

Bei der "lcd.init()" Funktion kommt eine Fehlermeldung.

Danke

scippitv:
Bei der "lcd.init()" Funktion kommt eine Fehlermeldung.

Wenn das Deine ganze Fehlerveschreibung ist "zeigt kein Text und "kommt eine Fehlermeldung", dann lautet mein Rat:

Vermeide einfach alle Fehler die Du machst, dann funktioniert es auch"

scippitv:
Bei der "lcd.init()" Funktion kommt eine Fehlermeldung.

Danke

Wie können nicht hellsehen. Du mußt schon die Fehlermeldung kopieren und uns geben.

Grüße Uwe

scippitv:
Bei der "lcd.init()" Funktion kommt eine Fehlermeldung.

Danke

Dann verwendest du die Anweisung mit einer falschen Library.

Hier mein Code:

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

LiquidCrystal_I2C lcd( 0x3F, 16, 2 );

void setup()
{
 lcd.init();                               //  NICHT begin(...)

 lcd.backlight();                          //  Backlight "ON" (!)
 lcd.print( "Hallo Welt" );                //  Text schreiben  
}
void loop()
{}

Fehlermeldung:

Arduino: 1.8.3 (Mac OS X), Board: "Arduino/Genuino Uno"

/Users/?/Documents/Arduino/sketch_jun09b/sketch_jun09b.ino:6:36: warning: invalid conversion from 'int' to 't_backlighPol' [-fpermissive]
LiquidCrystal_I2C lcd( 0x3F, 16, 2 );
^
In file included from /Users/?/Documents/Arduino/sketch_jun09b/sketch_jun09b.ino:4:0:
/Users/?/Documents/Arduino/libraries/NewliquidCrystal/LiquidCrystal_I2C.h:53:4: note: initializing argument 3 of 'LiquidCrystal_I2C::LiquidCrystal_I2C(uint8_t, uint8_t, t_backlighPol)'
LiquidCrystal_I2C (uint8_t lcd_Addr, uint8_t backlighPin, t_backlighPol pol);
^
/Users/?/Documents/Arduino/libraries/NewliquidCrystal/LiquidCrystal_I2C.h: In function 'void setup()':
/Users/?/Documents/Arduino/libraries/NewliquidCrystal/LiquidCrystal_I2C.h:154:9: error: 'int LiquidCrystal_I2C::init()' is private
int init();
^
sketch_jun09b:10: error: within this context
lcd.init(); // NICHT begin(...)
^
exit status 1
within this context

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

magst Du den Code bitte SO einfügen ?

Wenn du den Sketch und die Definition änderst, muss das zur verwendeten Library passen.

Verwende also ein Beispiel aus der Library die du verwendest.

Darf ich Dir folgende Anleitung ans Herz legen ?

https://arduino-info.wikispaces.com/LCD-Blue-I2C

Stefan

StefanBoth:
Darf ich Dir folgende Anleitung ans Herz legen ?

https://arduino-info.wikispaces.com/LCD-Blue-I2C

Steht doch schon in Post #6. :wink:
Der TO muss nur lesen.
Oder ist er ein anderer ?

:o
Ich stell mich jetzt mal in die Ecke und schäme mich...
Ist ne 1/4 Std. ok? :wink:

Stefan

StefanBoth:
:o
Ich stell mich jetzt mal in die Ecke und schäme mich...
Ist ne 1/4 Std. ok? :wink:

Stefan

Nicht du solltest dich schämen... :wink:

Woher weist du denn das das Modul die i2C Adresse 0x3F hat ?
Schon mal den I2C-Scanner laufen lassen ?

Ulli