Display 20x04 I2C [NON FUNZIONA]

Salve a tutti,
ho un display 20x04 con sistema I2C e non riesco a farlo funzionare (utilizzo Arduino UNO).
I cavi li collego correttamente e credo che il problema sia nel codice, di seguito vi scrivo quello che utilizzo, una versione modificata dell'esempio presente insieme alla libreria.

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

LiquidCrystal_I2C lcd(0x27,20,4);  

void setup()
{
  lcd.init();   
  lcd.backlight();
  lcd.setCursor(0,0);
}

void loop()
{ lcd.print("Hello, world!"); }

Occhio all'indirizzo: 0x27? Io uso 0x20 oppure 0x38, dipende dal tipo di PCF8574.

Naturalmente i piedini 1,2,e 3 sono cortocircuitati a GND

Comunque, con indirizzo sbagliato, vedi due file di "cubetti" orizzontali...

In alcuni modelli è usato anche 0x27... Comunque come prima prova carica uno sketch I2Cscanner e vedi se te lo rileva e che indirizzo ha.

I2C Scanner
Scanning...
I2C device found at address 0x27  !
done

Questo è il codice che viene scritto sulla seriale. Qui vi posto una foto del display.

Di modulini I2C per LCD c'e' ne sono molti. I parametri per l'oggetto potrebbero essere diversi dallo standard.
http://arduino-info.wikispaces.com/LCD-Blue-I2C

Ad esempio:

// Set the pins on the I2C chip used for LCD connections:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address

void setup()
{ lcd.begin(20,4);
...

Ma che versione di libreria usi ?

Avevo già provato quel tipo di codice ma non riconosce "POSITIVE"...

Forse non hai installato bene le libreria, quel valore è dichiarata nel file LCD.h nella cartella della libreria, esattamente così:

typedef enum { POSITIVE, NEGATIVE } t_backlighPol;

Io uso la libreira LiquidCrystal_I2c, e nel file .h non c'è ne positive ne negative, per caso devo utilizzare anche "#include <LiquidCrystal.h>"??

di librerie LiquidCrystal_I2c ce ne sono tante, e tutte con lo stesso nome

segui il consiglio di @nid69ita e prova a togliere quella che hai e installare questa qua'
http://arduino-info.wikispaces.com/LCD-Blue-I2C

Il venditore del Display propone una liberia e uno sketch di esempio?
Ciao Uwe

Vi aggiorno: ho seguito il consiglio di scaricare e sostituire la libreria con quella del sito di cui mi avete dato il link. Ho provato a vedere se con il mio programma funzionasse, ma vedevo solo tanti caratteri muoversi casualmente. A questo punto ho fatto copia incolla del programma esempio sempre sullo stesso sito e il display FUNZIONA! Non so bene come faccia a funzionare ma ora studio un po' quel programma e vedo di capirci qualcosa.
Grazie mille a tutti per l'aiuto!! :wink:

Avevo lo stesso problema anche io, ma poi avevo accantonato perché i miei display 20x4 li attacco direttamente su una mia board con PCF8574.
Poi, fatti i dovuti calcoli, ho pensato che potrei montare direttamente LCD con già la schedina e togliere il PCF8574 dalla mia board (e riasparmierei ben 1,02 Euro !!!!).
Quindi riprendo in mano il display e risolvo il problema con la libreria del link
http://arduino-info.wikispaces.com/LCD-Blue-I2C

Tutto ok. Funziona bene persino il blink !!! (se il refresh del display non è troppo frequente...), cosa che era problematica lcd.blink su LCD I2C - Software - Arduino Forum

Poi faccio due calcoli con la vecchia libreria I2C e vedo, con disappunto, che questa nuova che linkate si mangia in media quasi 1K (dai 900 ai 910 bytes circa) in più di quella vecchia.

Su un nano da 32K è sempre un buon 3% e per uno come me che è sempre sul filo ....