- 17 gen 2018, 21:50
#5218
Mi è capitato casualmente di provare la simulazione di Arduino in PROTEUS, più precisamente si trattava di pilotare un LCD via I2C con la sua bella libreria "LiquidCrystal_I2C" reperibile gratuitamente su ghithub...
Nonostante in PROTEUS sia presente l'oggetto in questione, il display non visualizza praticamente mai nulla, anche modificando il Device Address questo non vuole assolutamente funzionare...
A questo punto mi metto a ricercare in rete se qualcuno avesse risolto il problema, invece trovo tante domande simili a cui nessuno sa rispondere, e te credo!!!
Il Display I2C in PROTEUS è il modello JHD-2X16-I2C, in Internet si trova solo un datasheet non troppo completo, le poche info provengono da siti orientali e sono scritte in Cinese, poi scopro su alcuni Forum che il controller utilizzato è lo stesso del Display alfanumerico 16x2 che utilizza lo HD44780, quindi bisognerebbe riscrivere la libreria da capo e pare che nessuno lo abbia ancora fatto nonostante si leggano tanti consigli tipo:
"Devi eliminare l'Abstract Layer altrimenti non può funzionare"!!!
Già, ma che cosa intende di preciso???
Così provo a modificare la libreria ma non ottengo manco la visualizzazione del cursore, spazientito dall'insuccesso e dal tempo perso , torno ancora in rete e finalmente trovo che utilizza il Remote 8-Bit I/o Expander for I2C-Bus PCF8574 o PCF8574A, in PROTEUS è presente nelle librerie, quindi abbozzo un tentativo e funziona al primo colpo!!! (INCREDIBILE :D )
Visto la poca chiarezza dei vari Forum sull'argomento, ho deciso di condividere lo schema qui, la configurazione è quella classica, l'unica differenza è che la libreria avendo anche la funzione backlight(); e noBacklight(); sulla P3 dell'Expander bisogna aggiungere un transistor che accenda e spenga la backlight del Display sul catodo del LED, ovvio che per la simulazione non serve come del resto il contrasto, ad ogni modo riporto lo schema completo per evitare che qualcuno lo provi realmente e poi dica che non funzioni...
Nonostante in PROTEUS sia presente l'oggetto in questione, il display non visualizza praticamente mai nulla, anche modificando il Device Address questo non vuole assolutamente funzionare...
A questo punto mi metto a ricercare in rete se qualcuno avesse risolto il problema, invece trovo tante domande simili a cui nessuno sa rispondere, e te credo!!!
Il Display I2C in PROTEUS è il modello JHD-2X16-I2C, in Internet si trova solo un datasheet non troppo completo, le poche info provengono da siti orientali e sono scritte in Cinese, poi scopro su alcuni Forum che il controller utilizzato è lo stesso del Display alfanumerico 16x2 che utilizza lo HD44780, quindi bisognerebbe riscrivere la libreria da capo e pare che nessuno lo abbia ancora fatto nonostante si leggano tanti consigli tipo:
"Devi eliminare l'Abstract Layer altrimenti non può funzionare"!!!
Già, ma che cosa intende di preciso???
Così provo a modificare la libreria ma non ottengo manco la visualizzazione del cursore, spazientito dall'insuccesso e dal tempo perso , torno ancora in rete e finalmente trovo che utilizza il Remote 8-Bit I/o Expander for I2C-Bus PCF8574 o PCF8574A, in PROTEUS è presente nelle librerie, quindi abbozzo un tentativo e funziona al primo colpo!!! (INCREDIBILE :D )
Visto la poca chiarezza dei vari Forum sull'argomento, ho deciso di condividere lo schema qui, la configurazione è quella classica, l'unica differenza è che la libreria avendo anche la funzione backlight(); e noBacklight(); sulla P3 dell'Expander bisogna aggiungere un transistor che accenda e spenga la backlight del Display sul catodo del LED, ovvio che per la simulazione non serve come del resto il contrasto, ad ogni modo riporto lo schema completo per evitare che qualcuno lo provi realmente e poi dica che non funzioni...
Bios ringraziano
Nulla va lasciato al caso se non si vuol mirar fumanti scintille...