Modulo i2c

ciao a tutti!, manco da un po' causa esami,

volevo chiedervi se esistono due tipi di moduli i2c, cioè, quelli per schermi da 2x16 e quelli per schermi da 4x20; o ne basta comprare uno qualsiasi ed attaccarlo all'eventuale schermo lcd?

quelli che ho io sono uguali.

perchè io ne ho comprato uno che ha l'indirizzo 0x27 ma ho un lcd 20x4 e non riesco a scriverci sopra, mi si accende, solo che rimangono su file alternate dei riquadri bianchi ma nessuna scritta anche quando riesco a caricare uno sketch, c'è da dire che non tutti gli sketch mi vengono caricati su, pensavo che il problema fosse fisico

Il modulo I2C non cambia a seconda della geometria del display, però a seconda di modello e marca del display cambia come è fatto il connettore, sia come alimentazioni che, sopratutto, come disposizione dei segnali.

grigorot:
perchè io ne ho comprato uno che ha l'indirizzo 0x27 ma ho un lcd 20x4 e non riesco a scriverci sopra, mi si accende, solo che rimangono su file alternate dei riquadri bianchi ma nessuna scritta anche quando riesco a caricare uno sketch, c'è da dire che non tutti gli sketch mi vengono caricati su, pensavo che il problema fosse fisico

Facci capire meglio. Tu hai un lcd 20x4 e a parte un modulino I2C per display lcd 16x2 o 20x4, tu poi hai saldato il modulino sul display o comunque collegato tramite connettori ?

Come ha detto @astro, ad esempio io ho un display 20x4 con i2c (comprato tutto insieme) però con la libreria LiquidCrystal_I2C standard non funziona. Devo usare quella di fmalpartida che accetta ulteriori parametri in cui gli dici come sono collegati i pin lcd con il modulino i2C.
Devo creare l'oggetto lcd così:

                   // addr,EN,RW,RS,D4,D5,D6,D7,Backlight, POLARITY                              
LiquidCrystal_I2C lcd(0x23, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);   // 20x4

Quei pin dovrebbero essere del chip PCF8574 del modulino rispetto al connettore del display.

Solo il 4x40 é diverso (ha 2 EN). Tutti gli altri moduli LCD con HD44780 o compatibili dovrebbero funzionare con un modulo I2C. Controlla la pediantura (direzione e posizione della retroilluminazione), quella non é sempre uguale.
Ciao Uwe

non ho saldato direttamente il modulo i2c ma bensì l'ho collegato con dei jumper al lcd, quando li ho connessi il dispositivo si è accesso e mostrava dei quadratini bianchi su tutta la fila dei 20 ma a righe alternate, quindi solo due di 4 righe aveva questi quadratini (ho poi anche provato a collegarlo al contrario cioè invertendo i cavi e mi si accedeva solo la retroilluminazione), dopodichè ho caricato su lo sketch con la libreria LiquidCrystal_I2C con
0x27(mio indirizzo) ma non funzionava, i rettangolini rimanevano al loro posto, ho poi cambiato sketch usando quello che consiglia nid69ita, ma al momento della compilazione mi dice che "POSITIVE" non è riconosciuta come variabile e quindi non compilava, ho poi sostituito "POSITIVE" con "NEGATIVE" ma lo stesso non compilava.

scusate se ho scritto troppo, ultima cosa, io uso solo due librerie, la LiquidCrystal_I2C e la WIRED

I quadratini sono l' "imagine di accensione". Quando il display viene alimentato mostra i quadratini, anche per poter regolare il contrasto. Quando vedi i quadratini almeno l'alimentazione e il contrasto e eventualmente la retroilluminazione sono giuste.

Prova di controllare l' indirizzoI2C con lo sketch I2C scanner. Arduino Playground - I2cScanner

Ciao Uwe

ok!, avevo già usato uno sketch simile per trovare l'indirizzo I2C, adesso provo questo, ho visto però vari sketch per il pilotaggio dell' LCD che usano tre librerie, oltre alle due che sono la WIRED.h e la LiquidCrystal_I2C.h usano anche la LCD.h, a me quest'ultima manca, sapete dove posso trovarla e se serve?