buonasera, ho provato ha scrivere due righe sul display lcd ma visualizza solo la prima lettera di ogni riga,
idee su quale può essere il problema?
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
// Print a message to the LCD.
lcd.backlight();
lcd.print("Test Display I2C");
lcd.setCursor(0,1);
lcd.print("Versione 1.0");
}
void loop()
{
}
Meglio che tu abbia già risolto, altrimenti ti consigliavo di installare Questa
La trovi ben spiegata anche quà .
Lo dico perche' gli adattatori I2C-LCD che si trovano in giro attualmente non sono compatibili con codesta libreria
In pratica:
Togli quella che hai ( la cancelli dalla cartella libraries )
Installi questa
Se il tuo LCD gia' funzionava con dei precedenti IDE devi solo cambiare
0x20 è l'indirizzo di default, può essere che il tuo sia diverso, e quindi cercalo con questo sketch I2Cscanner
e all'interno del void setup()
//lcd.init(); // Vecchio modo di inizializzazione
lcd.begin(16, 2); // Nuovo modo di inizializzazione ( 16,2 sono le Righe e colonne dell' LCD )
lcd.backlight();
In pratica sono solo due righe da cambiare per usare questa libreria invece dell'altra.
Per completezza, metto l'immagine dell'interfaccia I2C che funziona con questi parametri
Mentre ad esempio quest'altra
ha questa inizializzazione
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
dove 0x27 può essere diverso. Cercare il valore con I2Cscanner