Pantalla I2c 2004 con due

Hola compis,

Tengo un problemilla que no se por donde tirar.

Compré una pantalla 2004 con el circuito de I2C incluído.

Tras varios problemas con la comunicación con mi due, es la primera vez que la uso, me he podido conectar con la placa, he conectado la pantalla como he visto en todos los manuales, es decir usando los pines 20 y 21 es decie, sda y scl respectivamente.

He subido el sketch para saber la direccion de la pantalla, en mi caso 3F, como en tantos otros que he leído.

Luego he subido un sketch de prueba y solo consigo ver la primera letra de cada frase. Nada mas. Alguna idea?

es decir lo que veo en la pantalla segun mi sketch es esto

E
N  A
T
b

el sketch

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

// Set the LCD address to 0x3F for a 26 chars and 4 line display
LiquidCrystal_I2C lcd(0x3F, 20, 4);

void setup()
{
  // initialize the LCD
  lcd.begin();

  // Turn on the blacklight and print a message.
  lcd.backlight();
  lcd.print("Esto no va");
        lcd.setCursor(0,1);
        lcd.print("Ni pa tras");
        lcd.setCursor(0,2);
        lcd.print("Tampoco pa lante");
        lcd.setCursor(0,3);
        lcd.print("bufff ... de ninguna manera");
        lcd.setCursor(3,1);
        lcd.print("Arrrr");
}

void loop()
{
  // Do nothing here...
}

Debes usar una libreria que funcione en el arduino Due, hace tiempo vi una variante que compila sin problemas: esta es la liga a la libreria

Gracias, mañana lo pruebo e informo

Por falta de tiempo aun no he probado, pero no me he olvidado

a mi también me pasa en el arduino uno, y lo he solucionado creando mi propia función para imprimir en pantalla.

si alguno sabe solucionarlo de otra manera que me lo diga mientras tanto así funciona.

saludo.

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

// Set the LCD address to 0x27 for a 16 chars and 2 line display
#define LCD_COLUMNAS 16
#define LCD_FILAS 2



LiquidCrystal_I2C lcd(0x27, LCD_COLUMNAS, LCD_FILAS);

void imprimir(String str, byte fila = 0, byte columna = 0)
{
  for (int i = 0; i < str.length(); i++){
    lcd.setCursor(columna + i,fila);
    lcd.print(str[i]);
  }

}

void setup()
{
   lcd.begin();

	// Turn on the blacklight and print a message.
   lcd.backlight();
	//lcd.print("Hello, world!");
   imprimir("Hola Mundo");
}

void loop()
{
  
	
}