Ciao a tutti,
ho un LCD 1602 che funziona regolarmente a cui ho collegato il modulo I2C. Il problema riscontrato è che delle due righe mi compaiono solo i primi due caratteri (anche con il semplice esempio "Hello World", compare in questo caso solo la "H" perché impegno solo la prima riga).
Ho caricato la libreria e lo sketch viene caricato regolarmente.
Un altro esempio, per poter meglio capire il problema, è che se carico lo sketch di esempio nella libreria I2C "SerialDisplay" (e cioè quello in qui digito io le parole nel serial monitor e lui le scrive nel display) tutto funziona regolarmente, va a scrivere anche le lettere successive.
è successo anche a me e ho letto di altri utenti qui sul forum con lo stesso problema.
io ho risolto cambiando libreria (ne ho provate 3 o 4...).
ad altri è stato suggerito di correggere una riga nella libreria...
così su 2 piedi non riesco a trovare la discussione che trattava questo argomento, ma se hai tempo di sfogliarti qualche pagina del forum trovi sicuramente qualcosa a riguardo.
fratt:
è successo anche a me e ho letto di altri utenti qui sul forum con lo stesso problema.
io ho risolto cambiando libreria (ne ho provate 3 o 4...).
ad altri è stato suggerito di correggere una riga nella libreria...
così su 2 piedi non riesco a trovare la discussione che trattava questo argomento, ma se hai tempo di sfogliarti qualche pagina del forum trovi sicuramente qualcosa a riguardo.
Ho provato a cercare un po' in giro prima di postare ma avevo trovato solo problemi diversi dal mio, avevo immaginato fosse un problema di librerie ed ho provato a scaricarne altre ma sembrano tutte uguali.
gpb01:
... ma nella libreria che hai linkato NON c'è quella riga :o :o :o
Guglielmo
Si Guglielmo, ma come ho detto prima, ne ho scaricate 3 ed in una c'era la riga da te indicata, non identica, ma simile
inline size_t LiquidCrystal_I2C::write(uint8_t value) {
send(value, Rs);
return 0;
... se non te ne funziona nessuna, prova a mettere il codice che usi (... mi raccomando, racchiuso tra i tag CODE che, in fase di edit, ti inserisce il bottone </> ... primo a sinistra), visto mai ci sia un errore in fase di inizializzazione del display ... :
Te lo allego anche se non serve a molto, è quello di esempio nell'IDE:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x20 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("Hello, world!");
}
void loop()
{
}
//includo la libreria per la gestione del display LCD
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
// DISPLAY LCD I2C
// set the LCD address to 0x27
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
void setup() {
// inizializzo LCD
lcd.begin(16,2);
// attivo la retro-illuminazione
lcd.setBacklightPin(3,POSITIVE); // ho trovato in rete il valore 3 come pin di backlight
lcd.setBacklight(HIGH);
lcd.home (); // go home
// scrivo un messaggio di attesa
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ABCDEFGHILMNOPQ");
lcd.setCursor(0,1);
lcd.print("abcdefghilmnopq");
}
void loop() {
}
Ho cancellato (per l'ennesima volta) tutte le librerie, ne ho rimessa una, poi dal gestore librerie dell'IDE ho fatto l'aggiornamento della libreria, ho riprovato e funziona.
Grazie a tutti per il tempo che mi avete dedicato ed in particolare a Guglielmo.