SainSmart IIC/I2C/TWI 1602 Funktioniert an Arduino Mega 2560 nicht richtig

Hallo,
ich habe mir vor einigen Tagen mal einen Arduino und ein LCD Display bestellt um damit eine Digitale Temperaturanzeige zu Realisieren.
Nun kamen die Sachen heute endlich an.
Also habe ich den Arduino direkt in Betrieb genommen und wollte auch das LCD Display mal Testen.
Hier habe ich mich nun wohl leider Festgefahren.
Ich habe die LiquidCrystal_I2C Libraries hinzugefügt ect pp.
Dachte jetzt kann ich ja mit dem Einfachen aufspielen des LiquidCrystal_I2C “Hallo Word” anfangen.
Naja leider nicht…
Programm habe ich folgendes eingespielt:

//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
 lcd.init();                      // initialize the lcd 
 lcd.init();
 // Print a message to the LCD.
 lcd.backlight();
 lcd.setCursor(3,0);
 lcd.print("Hello, world!");
 lcd.setCursor(2,1);
 lcd.print("Ywrobot Arduino!");
  lcd.setCursor(0,2);
 lcd.print("Arduino LCM IIC 2004");
  lcd.setCursor(2,3);
 lcd.print("Power By Ec-yuan!");
}


void loop()
{
}

Leider Zeigt der das Display:
_ _ _ H
_ _ Y
Die Unterstriche bitte als Leerzeichen sehen.
Kennt jemand von euch das Problem?
Schreibe ich eine Zeile unter
"

  lcd.setCursor(3, 0);
 lcd.print("Hello, world!");"
Dann einfach 
"  lcd.setCursor(4, 0);
 lcd.print("ello, world!");"

Wird wieder nur das E Geschrieben?

Danke und Gruß
Marcel

Edit:
Ganz Vergessen, Versucht habe ich das mit IDE 1.6.7 und 1.0 gleiches Ergebnis bei beiden.

Kennt jemand von euch das Problem?

Ist es denn ein Problem?
Welches ist es denn?

Ein Problem sehe ich nur dass du den Sketch nicht vernünftig gepostet hast.

Hallo,
Das Problem ist wie bereits geschrieben das der auf dem LCD immer nur die ersten Buchstaben geschrieben werden.
Also in jeder Zeile immer nur der erste Buchstabe.

Mfg

Warum willst du es denn zwei mal initialisieren?
lcd.init ()

welches Display hast du? 1602? 2004?

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display
 ...
 lcd.init();                      // initialize the lcd 
 lcd.init();

Für dein 1602 sollte der Quelltext an den Kommentar angepasst werden :wink:

und das zweite lcd.init() ist (wie schon erwähnt) falsch.

Wieso 1.0? Das ist hoffnungslos veraltet. Versuche mal 1.6.4 oder 1.6.5. Mit 1.6.7. haben andere Leute das gleiche Problem gehabt.

Es gibt auch einige verschiedene I2C LCD Libraries.

wenn du ein 1602 hast, versuch es mal so:

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

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
 lcd.init();                      // initialize the lcd 

 // Print a message to the LCD.
 lcd.backlight();
 lcd.setCursor(3,0);
 lcd.print("Hello, world!");
 lcd.setCursor(2,1);
 lcd.print("Ywrobot Arduino!");
}

void loop()
{
}
code]

Hallo,
Danke mal für eure Antworten.
Das Problem hat sich nun Irgendwie aufgelöst.
Ich habe heute morgen den Rechner Eingeschalten und es noch mal neu Aufgespielt und es ging?
Ich habe gestern desöfteren neu Gestartet, daher keine Ahnung woran das lag.

Das Display ist ein 1602.

Das 2 Init Stand schon in dem Beispiel das bei Liquidcristal dabei war so drin, hat mich selbst auch gewundert.

Wobei ich nun schon wieder das nächste Problem habe.
Ich habe eben über den LCD einen Analogen Eingang abgefragt, also quasi in ein Beispielprogramm das einen Sensor abfrägt einfach nur lcd.print eingefügt.

Bei mir Schwankt der Eingang zwischen 980 und 0 :S

McMarcy:
Wobei ich nun schon wieder das nächste Problem habe.
Ich habe eben über den LCD einen Analogen Eingang abgefragt, also quasi in ein Beispielprogramm das einen Sensor abfrägt einfach nur lcd.print eingefügt.

Bei mir Schwankt der Eingang zwischen 980 und 0 :S

Falls nichts angeschlossen ist, ist das normal. Hast du einen Sensor oder Poti angeschlossen, spricht das für ein Kontaktproblem.