Tras probar varios codigos que me he encontrado por internet, finalmente me he encontrado con este blog gacias al cual he podido aprender a manejar el display I2C:
http://blog.gotencool.com/2012/03/arduino-lcd-via-i2c.html
Arduino + LCD vía I2C
Hace una semana me llegó un
display LCD 16x2 con interfaz de conexión i2c, no había tenido oportunidad de probarlo hasta hace unos días.
La gracia de este LCD está en la interfaz, que requiere sólo 4 pines:
- Vcc (+5V)
- GND
- SDA (TX Data)
- SCL (RX Data)
La comunicación de datos se efectúa mediante i2c, el que emplea un bus
de comunicación de dos cables, los que alimentan y comunican
dispositivos identificados por una dirección física. El bus permite
velocidades entre 100Kbits/s a 400Kbits/s y la transmisión de datos se
efectúa en palabras de 8bits.
Para conectar el LCD al
Arduino se debe emplear los pines 4 y 5 para SDA y SCL respectivamente. Las conexiones quedarían así:
Finalmente, una vez que hemos efectuado las conexiones debemos cargar algún programa (se requiere la librería
LiquidCrystal_I2C):
Código:
|
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // 0x27 es la direccion del LCD 16x2
void setup(){
lcd.init();
lcd.backlight(); //enciende la iluminacion
lcd.setCursor(0, 0);
lcd.print("Probando i2c");
}
void loop(){
delay(1000);
}
|
Hola:
ResponderEliminarMi problema es que he copiado tu codigo y en la pantalla lcd solo me sale la "P" pero el resto del texto no sale.¿Me podrias decir cual es el problema?.
Tengo un arduino mega y la pantalla es de 20*4.
Gracias por adelantado y decirte que tu codigo me esta ayudando mucho a la hora de practicar.
Un sludo Pedro.
Hola probablemente tengas que poner en esta linea LiquidCrystal_I2C lcd(0x27,16,2); La dirección y los datos correspondientes a tu display que probablemente sean LiquidCrystal_I2C lcd(0x27,20,4).
ResponderEliminarMira este post del foro de arduino que te puede servir de referencia:
https://forum.arduino.cc/index.php?topic=304120.0