Display LCD I2C 20x4 non va, sarà guasto?

Salve,
sto cercando di far funzionare un display 20x4 LCD collegato al bus I2C (SDA->A4 SCL->A5).

Purtroppo non riesco a far apparire niente sul display, ho verificato (con scanI2C) l'indirizzo del display è quello giusto ma non appare niente.
Per testare il uso il codice riportato sotto.

Qualcuno mi sa dare un aiuto per effettuare ulteriore debug?
Non so cosa altro fare e non ho un altro display per capire se questo è guasto...
Grazie!

PS spero di aver citato bene il codice, è la prima volta che lo faccio!

//Include le librerie
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
// Imposta l'indirizzo del display a 0x27 con 20 caratteri per 4 linee
LiquidCrystal_I2C lcd(0x27,20,4);  
void setup()
{
  lcd.init();// inizializza il display
  lcd.backlight();//accende la retroilluminazione
 }
void loop()
{
  // Scrittura dei testi sul display
  lcd.setCursor(0, 0);
  lcd.print("1234567812345678");
  delay (1000);
  lcd.setCursor(0, 1);
  lcd.print("ABCDEFGHILMNOPQR");
  delay (1000);
  lcd.setCursor(0, 0);
  lcd.print("8765432187654321");
  delay (1000);
  lcd.setCursor(0, 1);
  lcd.print("8888888888888888"); 
  delay (1000);
}

ciao :slight_smile:

il codice va posta con l'apposito strumento, grazie al tasto Code </> (sopra le faccine)

allora magari ti faccio una domanda stupida, ma il driver per LCD presenta un trimmer per il contrasto a vite.... hai provato a girare la vite con un cacciate ? la vite è a taglio (l'unica in tutta la scheda:) )

In attesa ...

MD

Grazie!
Era la vite del contrasto regolata male.
E pensare che in fase di montaggio appositamente la ho "messa a metà corsa in modo di essere sicuro che si vedesse un minimo"... invece la regolazione giusta è quasi a fine corsa...
Devo smettere di fare le ore piccole a fare prove... ci si confonde...

Ma dove la trovo la documentazione della libreria LiquidCrystal_I2C.h?
Vorrei capire come gestire le visualizzazioni... e magari farmi qualche sub apposita per il mio progetto...

Grazie!

**>Riker1312: **ti è già stato detto ... in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

Guglielmo

Chiedo scusa ma sono nuovo di forum con regolamenti cosi "regolamentati".
Ho però un dubbio: mi viene richiesto di editare il post per sistemare la citazione del codice? (cosa che ho fatto)
Oppure di inserire la "risoluzione" con cui ho aperto il post direttamente nell'intervento di apertura?
Grazie mi scusi ancora.

>Riker1312: ... va bene come hai fatto :slight_smile: Grazie.

Guglielmo

Riker1312:
Ma dove la trovo la documentazione della libreria LiquidCrystal_I2C.h?
Vorrei capire come gestire le visualizzazioni... e magari farmi qualche sub apposita per il mio progetto...

Purtroppo, per il 90% delle librerie Arduino spesso fatte da terze parti, NON esiste alcuna documentazione se non il codice stesso ed i commenti in esso inseriti.

Per la LiquidCrystal, essendo una libreria ufficiale, trovi tutto QUI ... la versione I2C è di terze parti, per cui cambia il costruttore, ma per il resto dei metodi, dovremmo più o meno esserci ::slight_smile:

Guglielmo

Infatti con la libreria I2C che ho caricato (prendendola dalle librerie proposte dall'IDE) mi si verifica il fenomeno (che ho visto che accade a molti) che viene visualizzato un solo carattere.
Nel senso che se do l'istruzione:

  lcd.print("Helo World!");

sul display appare solo un "H".

Presumo dipenda dalla compatibilità tra la libreria I2C caricata e l'hardware del mio display.
Qualcuno sa dirmi come fare a capire quale (e dove trovare) la libreria giusta?

Grazie ancora!

E' un vecchissimo problema che è stato risolto, quindi hai scaricato una libreria vecchia.

Se fai qualche ricerca qui sul forum per quella libreria dovresti trovare anche la soluzione per le vecchie versioni ... ricordo che era una banale modifica su un IF :smiley:

Guglielmo

Ecco, prova, ad esempio, a guardare QUI :smiley:

Guglielmo

Risolto!
Grazie!