[RISOLTO] Comunicazione i2c

Buonasera,
come primo post, dopo una doverosa presentazione, vorrei porre un quesito all'apparenza banale, che mi crea però diversi problemi.
Anche leggendo post simili a questo ed alcune guide reperibili in rete, non riesco a trovare il possibile errore nel semplice programma di seguito riportato:

// *** SCHERMO LCD con comunicazione I2C ***

//    Utilizzo dei pin:
//
//    GND   alimentazione (GND)
//    VCC   alimentazione (5V)
//    SDA   pin A4
//    SCL   pin A5 
//    per la retroilluminazione fissa collegare assieme i connettori laterali
//    per regolare la retroilluminazione collegare il pin LED ad un pin PWM di Arduino (in questo esempio il 3) 


#include <LiquidCrystal_I2C.h>

#define LED_PIN 3                           // definisco il pin da utilizzare per la retroilluminazione

LiquidCrystal_I2C lcd(0x27, 16, 2);         // 0x3f = indirizzo schermo    16 colonne  2 righe

String riga1 = "Display LCD con";
String riga2 = "interfaccia I2C";

void setup(){
  lcd.init();                               // inizializza la comunicazione con lo schermo
  lcd.backlight();                          // attiva la retroilluminazione 
  pinMode(LED_PIN, OUTPUT);             
  analogWrite(LED_PIN, 50);                 //  per regolare la retroilluminazione, inserire un numero tra 0 e 255
}

void loop(){
  lcd.clear();                              // cancella il contenuto dello schermo
  lcd.setCursor(0, 0);                      // posizionamento in (colonna 0, riga 0)
  lcd.print(riga1);                         // stampa il testo contenuto nella stringa "riga1"
  lcd.setCursor(0, 1);                      // posizionamento in (colonna 0, riga 1)
  typewriting(riga2);                       // stampa il testo contenuto nella stringa "riga2" con effetto macchina da scrivere  (altrimenti utilizzare "lcd.print()")
  delay(1000);                      
}

void typewriting(String messaggio){
  int lunghezza = messaggio.length();
  for(int i = 0; i < lunghezza; i++){
    lcd.print(messaggio[i]);
    delay(150);
  }
}

Utilizzo Arduino NANO, in una versione ahimè non originale, acquistata per i primi esperimenti.
Da un test di comunicazione i2c, l'indirizzo dello schermo risulta il 27.
Il collegamento effettuato è riportato nei commenti all'inizio del codice.

Di fatto lo schermo resta acceso, ossia retroilluminato, ma senza che compaia alcun pixel annerito.

Non credo che il problema riguardi i collegamenti, cosa di cui inizialmente ho dubitato, in quanto un immagine reperibile su Google illustra che i pin di Arduino NANO predisposti alla comunicazione i2c sono il D4 e D5. Collegando lo schermo in questo modo però il "i2cdetect" non riconosce alcun indirizzo, cosa che invece avviene collegando i pin A4 ed A5.

Non riesco quindi a capire cosa non funzioni.
Ringrazio chi mi darà una mano!

Allora, facciamo chiarezza.
Intanto se lo vede a 027, significa che I2C funziona.
Poi solo dando alimentazione, senza SDA e SCL, dovresti vedere dei cubetti neri
Se non vedi nulla devi regolare il contrasto col trimmer che trovi dietro.
La retroilluminazione la gestisci da libreria con lcd.backlight () e lcd.noBacklight ()

Poi ti consiglio VIVAMENTE di usare QUESTA libreria, perché di LiquidCrystal ce ne sono un sacco e si chiamano tutte uguali !!!!

E' molto semplice e funziona benissimo. Una volta che l'hai scaricata e installata vai in File > Esempi e ti trovi gli esempi di come usarla.

Poi non cominciamo a dare la colpa ai NANO originali e NANO di importazione: se ti risponde 27 al run di un programma di ricerca indirizzo, significa che funziona...

Esatto, sono d'accordo che il problema non sia di comunicazione.

Se veramente è un problema di contrasto nullo...sarebbe imbarazzante! :astonished:

Faccio una prova...

photobyfs:
Esatto, sono d'accordo che il problema non sia di comunicazione.

Se veramente è un problema di contrasto nullo...sarebbe imbarazzante! :astonished:

Faccio una prova...

Non saresti il primo.... anzi, non saresti nemmeno il centesimo...

C.V.D.

Chiedo venia per l'inutilità del post e ringrazio per l'aiuto. :roll_eyes:

Tranquillo. Siamo qui apposta!
Magari metti [RISOLTO] sul titolo, all'inizio del post