Go Down

Topic: desesperado con la pantallita (Read 2 times) previous topic - next topic

apolo150

buenas hace unos dias me llego un lcd de 16x2 que es el siguiente:
http://dx.com/es/p/arduino-iic-i2c-twi-spi-serial-lcd-1602-module-blue-green-140080
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.

maxid

utiliza la libreria de Fm, sirve para casi todos los modelos y es rapidisima.
aca el post de como se usa: http://forum.arduino.cc/index.php?topic=162765.15
Bajarla de aqui: https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home
El que pregunta aprende, el que responde aprende a responder.

apolo150

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

apolo150

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.
Quote
#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);
}



maxid

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.
El que pregunta aprende, el que responde aprende a responder.

apolo150

#5
Jul 02, 2013, 09:23 pm Last Edit: Jul 02, 2013, 09:29 pm by apolo150 Reason: 1
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.

apolo150

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

maxid

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.
El que pregunta aprende, el que responde aprende a responder.

apolo150

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.

apolo150

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

maxid

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.
El que pregunta aprende, el que responde aprende a responder.

apolo150

tambien viene con un MCP23008

maxid

es lo mismo, son expansores i2c a paralelo.
El que pregunta aprende, el que responde aprende a responder.

fm

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.
   

apolo150

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.

Go Up