Brauche Hilfe mit i2c Display

Also ich habe folgendes Problem:
auf meinem i2c display (welches funktioniert) würde ich gerne die Daten, die normalerweise über den seriellen Monitor ausgegeben werden, anzeigen lassen.
es handelt sich dabei um eine Temperaturanzeige.
Das Bauteil das ich zu Messung verwende ist ein LM335Z Temperatursensor. Zur Genauigkeit würde ich auch gerne einen zweiten hinzufügen um den wert genauer anzeigen zu lassen.
Den Code hierzu habe ich schon mal soweit um zumindest die werte über den Seriellen Monitor auszugeben:

float temp_in_celsius = 0, temp_in_kelvin=0, temp_in_fahrenheit=0;

void setup()
{
  Serial.begin(9600); 
}

void loop()
{

  //Eingang lesen und in Kelvin umrechnen
  temp_in_kelvin = analogRead(0) * 0.004882812 * 100;
  
  //Konvertiert Kelvin zu Grad Celsius +- 2 G Abweichung 
  temp_in_celsius = temp_in_kelvin - 2.5 - 273.15; 
  
  temp_in_fahrenheit = ((temp_in_kelvin - 2.5) * 9 / 5) - 459.67;

  //Gibt den Celsius wert am Seriellen Monitor aus
  Serial.print("Celsius: ");
  Serial.println(temp_in_celsius);                  

  //Gibt den wert in Fahrenheit am SM aus
  Serial.print("Fahrenheit: ");
  Serial.println(temp_in_fahrenheit);
  Serial.println();


  delay(1000); 
}

mit der LiquidCrystal bin ich leider erst soweit:

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
 
#define I2C_ADDR    0x3F  // Define I2C Address
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7
 
LiquidCrystal_I2C       lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
 
void setup()
{
  lcd.begin (20,4,LCD_5x8DOTS);
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); // init the backlight
}
 
void loop()
{
  lcd.setBacklight (LOW);
  lcd.home();

für eine schnelle Hilfe wäre ich dankbar.

Die LCD-Bibliothek gibt ähnlich aus wie Serial auch, also mit

lcd.print("Hallo Welt");

kannst du etwas anzeigen. Ebenso geht lcd.println("Eine Zeile"); um eine Zeile mit Zeilenumbruch zu schreiben. Die statischen Daten, also z.B. dein "Celsius: ", kannst du "stehen lassen", indem du die Position angibst, an der ausgegeben werden soll: lcd.setCursor(col,row);wobei 0,0 die obere linke Ecke angibt. Die Angabe ist in Zeichen, nicht in Punkten bei der LCDLibrary.

Und alles zum nachlesen in den Beispielen der LCDLibrary.

Liebe Grüße und viel Erfolg

Dirk

Ich verstehe nicht wieso Du bei einem I2C LCD folgendes angeben mußt:

#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin,Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);

Laut Beschreibung der Bibliothek braucht es al parameter die I2C Adresse und Zeilennummer und Spaltennummer

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

http://code.google.com/p/avr-netino/source/browse/libraries/LiquidCrystal_I2C/examples/HelloWorld/HelloWorld.pde?r=304484de312a830e883db739ce82b65b5c0c7956