desesperado con la pantallita

buenas hace unos dias me llego un lcd de 16x2 que es el siguiente:

el problema esta que despues de probar su libreria especifica la cual los ejemplos que vienen dan error al compilarlo y otras que he probado no memuestran nada por pantalla, agradeceria mucho si alguien tiene una igual y me dice como la ha hecho funcionar que yo estoy por rendirme, un saludo y gracias por adelantado.

utiliza la libreria de Fm, sirve para casi todos los modelos y es rapidisima.
aca el post de como se usa: Avería en Arduino Serial IIC/I2C/TWI 2004 (Solucionado) - Hardware - Arduino Forum
Bajarla de aqui: https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home

muchas gracias de vn saludoerdad, probare a ver si funciona, un saludo.

Nada sigue sin funcionar, tengo un arduin a laso mega y no se si con esta libreria tengo que conectar el SDA y el SCL a los pines 4 y 5 o a los pines 20 y 21, aunque he probado a poner en los dos sitios y sigue sin funcionar. Pondre el ejemplo que le he cargado, lo unico que le he cambiado a sido la direccion que en teoria es la 0x20.

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

#define BACKLIGHT_PIN 13

LiquidCrystal_I2C lcd(0x20); // Set the LCD I2C address

//LiquidCrystal_I2C lcd(0x38, BACKLIGHT_PIN, POSITIVE); // Set the LCD I2C address

// Creat a set of new characters
const uint8_t charBitmap[][8] = {
{ 0xc, 0x12, 0x12, 0xc, 0, 0, 0, 0 },
{ 0x6, 0x9, 0x9, 0x6, 0, 0, 0, 0 },
{ 0x0, 0x6, 0x9, 0x9, 0x6, 0, 0, 0x0 },
{ 0x0, 0xc, 0x12, 0x12, 0xc, 0, 0, 0x0 },
{ 0x0, 0x0, 0xc, 0x12, 0x12, 0xc, 0, 0x0 },
{ 0x0, 0x0, 0x6, 0x9, 0x9, 0x6, 0, 0x0 },
{ 0x0, 0x0, 0x0, 0x6, 0x9, 0x9, 0x6, 0x0 },
{ 0x0, 0x0, 0x0, 0xc, 0x12, 0x12, 0xc, 0x0 }

};

void setup()
{
int charBitmapSize = (sizeof(charBitmap ) / sizeof (charBitmap[0]));

// Switch on the backlight
pinMode ( BACKLIGHT_PIN, OUTPUT );
digitalWrite ( BACKLIGHT_PIN, HIGH );

lcd.begin(16,2); // initialize the lcd

for ( int i = 0; i < charBitmapSize; i++ )
{
lcd.createChar ( i, (uint8_t *)charBitmap );

  • }*
  • lcd.home (); // go home*
  • lcd.print("Hello, ARDUINO "); *
  • lcd.setCursor ( 0, 1 ); // go to the next line*
  • lcd.print (" FORUM - fm ");*
  • delay ( 1000 );*
    }
    void loop()
    {
  • lcd.home ();*
  • // Do a little animation by writing to the same location*
  • for ( int i = 0; i < 2; i++ )*
  • {*
  • for ( int j = 0; j < 16; j++ )*
  • {*
  • lcd.print (char(random(7)));*
  • }*
  • lcd.setCursor ( 0, 1 );*
  • }*
  • delay (200);*
    }[/quote]

esta libreria reemplaza la que trae arduino, lee el post para que entiendas como instalarla y quitar la anterior. los mega usan los pines 20.
Verifica el contraste, y que realmente este alimentado y encienda.
Tambien puedes quitar el adaptador y usarlo en modo estandar con mas cables para descartar la falla.

nada que sigue igual la pantalla enciende se ve como si una de las lineas estuviera activa por que al ajustar el contraste se ven una fila de cuadros, he hecho lo de sustituir la librerias y todo lo que se dice pero nada sigue igual.

por cierto el chip que controla el lcd creo que es 74ls595

bueno entonces haz errado la libreria, no es por i2c, es un shift register. usa la libreria de que esta contenida para ese chip, lee la wiki para el conexionado.

vale creo que puede ser el controlador i2c que viene con el lcd ya posteare si soluciono o necesito ayuda y muchas gracias de nuevo por la ayuda prestada.

bueno algun lcd i2c aconsejable ya que este el controlador viene jodido, y que no me de tantos quebraderos de cabeza, :drooling_face:

Es que ese chip no es i2c, creo que el 74595 usa 4 lineas, para i2c se usa generalmente el pcf8574.
Pero si cambias tu libreria y las conexiones saldria andando.

tambien viene con un MCP23008

es lo mismo, son expansores i2c a paralelo.

Dependiendo del controlador que tengas vas a tener que configurar la librería. Esto depende de: el tipo de controlador (i2c, SR, paralelo,...), luego tendrás que configurar como la controlador a esta conectada a las líneas del LCD y finalmente al Arduino.

Mi librería controla la mayoría de controladores.

Ademas es que si lo alimento atraves del controlador ni se ilumina la pantalla, pero si lo alimento directamente si se ilumina, por eso creo que esta jodido el controlador.

Creo que tu desesperación no t deja leer. Si revisas la wiki que te mencioné y revisas el circuito, podrás ver el conexionado y usar la librería correcta.
Además de eso la iluminación puede estar controlada que con el método backligth creo se llama así, enciendes y apagas la retroiluminacion

Un momento, he visto que ese LCD es un clon del LCD de Adafruit. Es la única configuración que no funciona en mi librería y no soporta el ASIC que usa. Es una de las tareas pendientes que tengo.

Te sugiero que busques: Adafruit i2c LCD. En su web tienen toda la documentación para que puedas hacerlo funcionar.

esa libreria tambien la descargue pero no me deja ni si quiera compilar los ejemplos ya que me dan error, un saludo y gracias de nuevo si consigo solucionarlo publicare la solucion.

Intenta corregir los errores. Esa librería debería funcionar bien.
Lo suyo, es contactar con el proveedor y que te de soporte.

ya pero pedi en dealextreme, cosa de la que ahora me estoy arrepintiendo :blush: