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()
{}
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
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....
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
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....
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.
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.