Display lcd i2c caracteres extraños

Buenas chic@s…

La verdad que estoy como loco la verdad… Ya ni se si veo o estoy metiendo la pata hasta el fondo… Aver…

He comprado componentes para empezar a practicar y realizar montajes físicos. Pues bien, no soy capaz de enviar texto a la lcd… Bueno en realidad si… Solo que caracteres raros y repartidos por toda la pantalla… Y ya no se que hacer… Me podéis ayudar por favor??
Adjunto el código

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

#define I2C_ADDR    0x50

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("hola");
       lcd.setCursor ( 0, 1 );        // go to the 2nd line
       lcd.print("hola2");
   }
void loop() 
   {}

OS dejo la foto para que lo veáis…

http://subefotos.com/ver/1b578d50334bfa16ef9399796a5e9f8fo.jpg
Muchas gracias

La dirección del LCD I2C suele ser 0x27 Pero aunque no lo sea, usa el scanner I2C, que puedes buscar en este foro. Donde.. en PLayground. No lo encuentras. Google o pones en el search de este blog : scanner I2C

Prueba con 0x27

Algo mas: ESTO NO ES UN PROYECTO!!!

He pasado el scanner y me da 0x50... Por otro lado he probado el 0x27 y sigue igual.

Gracias y si es necesario mover el hilo.... Lo hago yo mismo... Lo cierro y abro en el sitio adecuado.

Siento las molestias!!

Alguien con alguna idea del tema?? Porque literalmente me estoy dejando la vista. Jajajaja....

Gracias de antemano chic@s!!

Os dejo fotos del código para que lo veáis, fotos del conexionado, fotos de lo que sale en el display… No se… Estoy ufffff… De mirar!!

Aver que os parece.
Os digo que la dirección es a la que mando es la 50, xq es la que me ha marcado el scanner…

Mil gracias

y donde esta la interface I2C?

|500x335

nota: Por cierto las imagenes se insertan asi, no adjuntadas.

El módulo ya viene insertado en la pantalla!! Eso me ya dicho el tío que me lo ha vendido. Tiene hecho los puentes hechos ya!! Espera y os paso el data del lcd Aver que os parece…

BC1602AIBN.pdf (998 KB)

Intersante, no lo conocía. ALgo para aprender

|500x472

Tiene todas las opciones, RS232, SPI y I2C. Por defecto dice estar en I2C. Verificaste? Mira la tabla que he posteado para verificar los jumpers

J21H esta con una bolita de estaño
J22L esta con una bonita de estaño…

Esta así bien??

Bien, lo que me preocupa entonces es que dice 100kHz.. asi que a verificar porque nunca le presté atención a ese dato

Bueno ya lo busqué y resulta que 100khz es la velocidad del BUS I2C del Arduino, asi que no esta fallando por ese lado.

Y como se verifica eso?? :o :o

Que crees que debería hacer?? Porque ya no se que probar sinceramente!! :-(

Intenta con esta librería pero debes instalarla correctamente y reemplazar la que aparece como LiquidCrystal en tu carpeta de arduino\libraries. Le cambias el nombre a LiquidCrystal.old por ejemplo y si tienes una que no se como LiquidCrystal_i2C le cambias tambien a .old

NewliquidCrystal_1.3.4.zip

Recuerda bien que debes instalarla en lugar de la otra.

Voy a hacer una instalación limpia desdd el principio!! Partiendo de 0. Voy a instalar el ide desde 0 y a sustituir librerías xq he estado tocando librerías también....

Ahora te digo

Nada¡¡¡ No soy capaz de que funcione....

Ya no se que hacer¡¡

Tu usas esto

LiquidCrystal_I2C             lcd(I2C_ADDR,2, 1, 0, 4, 5, 6, 7);

Prueba estas opciones

LiquidCrystal_I2C             lcd(I2C_ADDR);

prueba esto

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

Nada¡¡¡ Seguimos igual¡¡¡ :frowning: Ya no se que poder hacer… Será problema del display???

Muchas gracias por la ayuda prestada…

Bueno plan B, ahora verificar si funciona. Mira como colocar los jumpers (bolitas de estaño) para usarlo en modo Serie. Si tienes cinta desoldadora de cobre, usa el soldador y remueve esas dos bolitas y has los puentes correspondiente para usarlo en modo Serial. En modo Serial, solo debes enviar los datos al puerto Serie de tu arduino y no hay que configurar nada. No se como se elige el cursor en ese caso. Pero que sea una prueba. Tambien tienes un modo Demo. Ve cual probar para asegurarte que el LCD funciona.

Rebuscando por Internet he visto esto....

El controlador que utiliza es este...

Puede tener algo que ver?? He visto por algún foro que hay gente a la que le da problemas...

Que opinas?

Ahora estoy en el trabajo y no puedo hacer nada de cambiar jumpers..

Mil gracias

Tal y como yo lo veo, o tienes intercambiados los pines SDA/SCK (que no creo) o hay algún problema con las señales, para lo cual tal vez alguien que sepa te puede aconsejar utilizar alguna resistencia pull up y/o condensador de desacople en la alimentación. Por probar, intenta "hablarle más despacito". Antes de enviar datos a la pantalla intenta poniendo un comando Wire.setclock(50000L);

Y sólo se me ocurre una tercera posibilidad más, y es que no hayas dado con la librería que sepa cómo comunicarse con tu módulo, en cuyo caso no te queda otra que rebuscar información sobre tu módulo y probar, o incluso con datasheet al lado probar a enviarle comandos de forma manual.

Por cierto, según el pdf la dirección por defecto del módulo es 0xA0.