Buenos días.
Estoy intentando hacer que mi ARDUINO UNO R3 se intente comunicar una una pantalla LCD Serial Alfanumérica de 20*4. Todos me contestareis usa la librería LiquidCristal o algunas semejantes, pero esta pantalla tiene incorporado el bus I2C y tengo dos y las quería intentar reciclar para futuros proyectos y esta librería no me funcionan para nada.
El enlace de la pantalla es el siguiente, no son precisamente baratas pero como son recicledas :
El datasheet de la misma esta en el siguiente enlace:
Con el I2C Scanner he conseguido la dirección I2C de la pantalla, es la 0X3c, por lo que la comunicación se realiza.
El problema me viene cuando intento configurarla, hay veces que me deja otras no y ya no se por donde podría hacerlo. Si alguien tiene alguna idea seria de gran ayuda
El programa que uso es el siguiente:
#include <Wire.h>
void setup()
{
Wire.begin(); // Conexion como maestro
delay(100);
Wire.beginTransmission(0x3c); // Start Transmision de datos
delay(100);
Wire.write(0x08); // Display ON/OFF
delay(100);
Wire.write(0x01); // Limpio el display
delay(100);
Wire.write(0x07); // Entor en el modo SET
delay(100);
Wire.endTransmission(0x3c); // Stop Transmision datos
delay(100);
}
//byte val = 0;
void loop()
{
delay(1000);
Wire.beginTransmission(0x3c); // Start Transmision datos
delay(100);
Wire.write("val "); // Envio los caracteres "val " al display para visualizarlos
delay(100); // inicialmente seria un contador pero me conformo con que salga "val "
Wire.endTransmission(0x3c); // Stop Transmision datos
delay(100);
/* val++; // Incremento valor
if(val == 64) // Compruebo si ha llegado al numero 64
{
val = 0; // Reinicio la constante
}
delay(50); */
}
Muchas gracias.