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!