Problema con el I2C

Hola, hace unos dias que estoy tratando de hacer funcionar una pantalla lcd de 16x2 con un modulo I2C, el problema es que pruebo infinidad de librerias y codigos y no sale nada... despues me di cuenta que en realidad las letras si salian pero que se encontraban muy transparentes y probe con ajustarle el contraste sin embargo cuando lo hago las letras directamente desaparecen. ya escanie el protocolo es 3f y ya revise que este todo perfectamente conectado en mi arduino uno . si alguien me puede dar una mano les estaria muy agradecido

que librería estas utilizando?

hola, probe varias librerias, newliquidcrystal de fmalpartida, liquidcrystal i2c de frank de brabander entre otras

Sube el código para poder echarte una mano, si no, no podemos saber dónde tienes el fallo.
Un saludo!

Me da un poco de vergüenza meterme pero, allá voy.

¿No estarás usando un clon de arduino? Es que me pasaba exactamente lo mismo con un clon de nano y con el nano auténtico me encendía bien la LCD

Lo primero que debes hacer es identificar correctamente la dirección de tu LCD.
Para eso debes correr I2C scanner
Este programa te dirá donde responde tu lcd

Luego respeta para cada librería la forma de comunicarse con el LCD, no todas tienen la misma inicialización. Incluso algunas cambian los pines del integrado I2C que es utilizado y con solo un cambio en los pines tu LCD no va a funcionar.
Para terminar. Es muy posible que el potenciometro este mal soldado. Verifica las soldaduras y si tienes un soldador repasalas porque es posible que el cursor o alguno de los extremos no este haciendo buen contact.

hola ahi les mando el codigo que estoy usando:

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

LiquidCrystal_I2C lcd(0x3f,16,2);  // 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!");
 
}


void loop()
{
}

con respecot a lo del clon de arduino , no estaria sabiendo que es un clon de arduino xD sime podes explicar bien seria genial...
y lo del escaner fue lo primero que hice y por eso estoy usando 3f, y el pote esta bien soldado y le medi la resistencia y va joya asi que no pasa por ahi el problema, yo supongo que es un problema con la libreria ... muchas gracias a todos de ante mano

Aparentemente, en el código no se ve nada raro, salvando que inicializas la lcd 2 veces, quita uno, pero esto no solventará tu error.

Sólo queda mirar las conexiones, cómo lo tienes conectado? Que pantalla utilizas? Es posible que la pantalla funciona a 5V y tu estes alimentando con 3V3? Me huele a que el contraste no da pa mas por falta de tensión....

Un saludo!

según la libreria que usas que no has indicado cual esto sirve o no sirve

LiquidCrystal_I2C lcd(0x3f,16,2);

Como te dijo Danicap elimina una inicialización

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

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

Hola devuelta, queria avisarles que ya pude solucionar el problema ( que por cierto resulto ser una tontería pero bueno digamos que soy muy nuevo en esto), tenia la alimentacion en 3.3v como decia danicap (nunca me di cuenta porq desde mi perspectiva decia 5v pero bueno ya esta) muchisimas gracias a todos los que se preocuparon en responder!