Pantalla LCD i2c

Hola,
Me he comprado recientemente una pantalla lcd 16x2, estoy intentando usarla con el arduino UNO. Para ello he buscado en internet como obtener el código de la pantalla lcd, con un código he encontrado que la dirección de la placa es “0x3F”.

He implementado este código que he encontrado para probar si puedo escribir en la pantalla.

El problema es que se ilumina por completa la pantalla, se respeta pero no escribe nada en la pantalla

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

#define I2C_ADDR    0x3F

LiquidCrystal_I2C             lcd(I2C_ADDR,2, 1, 0, 4, 5, 6, 7);
void setup()
   {
       lcd.begin (16,2);    // Inicializar el display con 16 caraceres 2 lineas
       lcd.setBacklightPin(3,POSITIVE);
       lcd.setBacklight(HIGH);

       lcd.home ();                   // go home
       lcd.print("Prometec.net");
       lcd.setCursor ( 0, 1 );        // go to the 2nd line
       lcd.print("Malpartida lib");
   }
void loop() 
   {}

Gracias por la ayuda.
Un saludo

Hola, supongo que habrás comprobado lo típico, que es regular el contraste del lcd mediante el potenciómetro situado detrás del i2c. Si aún asi no ves nada tu problema puede estar en la librería que usas, es lo típico.

Como no sé que i2c ni que lcd usas concretamente lo que voy a hacer es dejarte un código típico para usar, ya que la primera vez uno anda algo perdido.

Este funciona correctamente, aunque tambien dependerá de la libreria que tu uses. Si no te funciona dime algo y te la paso (yo es que la tengo guardada, no recuerdo bien de donde la bajé).

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x3F, 16, 2); // Codigo Direccion de la pantalla



void setup () {
  Wire.begin();
  lcd.begin(16, 2); //Tamaño de la pantalla LCD (Columnas/Filas)
  lcd.clear(); //Limpia todo texto de la pantalla
  lcd.backlight(); // Enciende la luz de la pantalla
  lcd.setCursor(0, 0); // Coloca el cursor en el principio de la pantalla)
  lcd.print ( "CONECTADA");// Muestra un mensaje en la pantalla LCD.
}

void loop () {
  // Establecer el cursor a la columna 0, la línea 1
  // (Nota: la línea 1 es la segunda fila, ya que el conteo se inicia en 0):
  lcd.setCursor (0, 1);
  // Imprimir el número de segundos desde la restauración:
  lcd.print (millis () / 1000.00);
  }

Hola, Muchas gracias caballero, tenias razón en lo primero.
Vi el potenciometro pero no sabia para que servia, lo he movido y se ha puesto bien el contraste.
Muchas gracias de nuevo.

Te dejo por las dudas el instructivo que usé yo para mi pantalla: http://www.arduinohobby.com/lcd-16x2-i2c-arduino/

Me alegro que lo hayas solucionado, saludos