Info lcd Ks0108

Ciao ragazzi...
Ho appena recuperato dei lcd grafici Wg12864A-TNI-NW che montano dei KS0108.
Sto cercando di collegarlo ad un arduino uno, ma purtroppo non funziona, anche seguendo questa documentazione Arduino Playground - HomePage.
Leggendo sono venuto a conoscenza che ci sono 2-3 tipi di schede con questo IC ma non riesco a capire quale sia.
Io ho caricato lo sketch d' esempio... ma non vedo niente se non la retroilluminazione e se faccio il reset, vedo che si riavvia (la luce diminuice e poi ritorna come prima)
L' unico indizio che ho è che sul retro della scheda dell' lcd c'è scritto 12864A REV.G ma sulla rete non trovo molto.

Mi potete dare una mano ?

superzaffo:
Mi potete dare una mano ?

il wiring com'è? ci son così tanti cavi che è facile sbagliare...

Hai ragione.. ci sono un casino di cavi XD

Ho seguito lo schema B della tabella.
Poi ho un trimer a 10k e ho collegato nel pin3 del trimer a GND il pin 2 (centrale) al pin 3 del lcd e il pin 1 nel pin 18 dell LCD

cerca su google: "Wg12864A arduino"
ho letto e vito un pò di wiring, magari non è la tabella b... cerca

verifica con questo: http://robocraft.ru/files/GLCD/2B.jpg

Purtroppo questo è uno schema con l' alimentazione invertita rispetto a quello che ho.
Guardando il pcb, noto che il pin 1 va a GND.

Questo è quanto mi da lo sketch diagnostico:
Serial initialized

Reported Arduino Revision: 1.1

GLCD Lib Configuration: glcd ver: 3 glcd_Device ver: 1 gText ver: 1
GLCD Lib build date: Mon Dec 5 01:50:07 CST 2011
GLCD Lib build number: 442
Panel Configuration:ks0108-192x64
Pin Configuration:ks0108-Arduino

GLCD:ks0108 DisplayWidth:192 DisplayHeight:64
Chips:3 ChipWidth:64 ChipHeight:64
CSEL1:14(PIN_C0) CSEL2:15(PIN_C1)
RW:16(PIN_C2) DI:17(PIN_C3) EN:18(PIN_C4)
D0:8(PIN_B0) D1:9(PIN_B1) D2:10(PIN_B2) D3:11(PIN_B3)
D4:4(PIN_D4) D5:5(PIN_D5) D6:6(PIN_D6) D7:7(PIN_D7)
Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450
ChipSelects: CHIP0:(14,0x0, 15,0x0) CHIP1:(14,0x0, 15,0x1) CHIP2:(14,0x1, 15,0x0)
Data mode:
d0-d3:nibble mode-Non-Atomic
d4-d7:nibble mode-Non-Atomic

Diag Loop: 1
Initializing GLCD
GLCD initialization Failed: RESET wait Timeout (status code: 2)

Ho trovato il datasheet del LCD.
http://www.winstar.com.tw/products_detail_ov.php?lang=it&ProID=48
Mi sembra confermare lo schema B che ho adottato.. infatti non riesco a capire dove stia il problema.

E' particolare la gestione del contrasto, normalmente gli estremi del trimmer si collegano all'alimentazione (5V e GND) ed il centrale al pin del contrasto, qui invece dei 5V preleva una tensione negativa che esce dal display stesso. La retro ti funziona perché non è altro che un LED alimentato, ma è il contrasto che dovrebbe dare segni di vita, ruotando il trimmero non succede nulla?
Ma lo sketch qual'è?

Ciao Michele...
purtroppo girando il trimmer non succede niente.
Questo e lo sketch diagnostico che carico e che mi da quell' errore... diciamo che dietro ci stanno delle librerie belle corpose.
Io sinceramente ho controllato e ricontrollato i collegamenti (che sono tanti) ma mi sembrano tutti ok allo schema B.
Se volete questa sera farò qualche foto..

GLCDdiags.pde (26.2 KB)

ok, volevo solo vedere se erano gestiti correttamente i due chip, ma sarà tutto nelle lib. Se ho ben capito non gli arriva il segnale di RESET nel periodo di tempo che l'LCD se lo aspetta, prova con un piccolo imbroglio:
tieni il filo del RESET scollegato da Arduino
avvia lo sketch o la diagnosi
istantaneamente tocca col filo il GND e rilascialo subito
se così non va ripeti l'operazione ma questa volta tocca i 5V invece del GND.

Si tutta la pieddinatura viene gestita da degli include nella libreria, anche molto bene, fanno l' auto sensing del tipo di arduino e carica in automatico quello giusto. Io ho anche provato a fissare quello per l' arduino uno e a controllare la piedinatura, ma il risultato non cambia.
Guardando in giro per il forum ho visto che molti hanno avuto questo problema, ma sinceramente quasi tutti con il mega.
Ok.. questa sera proverò.. intanto ti posso dire che ieri sera ho provato a staccare il cavo di reset o di collegarlo mentre caricavo lo sketch.. ma non è servito a niente.
Intanto grazie...

Ma figurati, mi spiace non poter fare di più. CRedo che l'impulso di reset debba arrivare prima dell'esecuzione dello sketch, cioè il display PRIMA viene resettato e poi comincia la sua "nuova" attività, questa è la mia idea, per cui può essere che se becchi il momento opportuno cominci a vedere qualcosa, poi si tratta di sistemare questo segnale, speriamo bene!

Non ti preoccupare.. sei sempre molto disponibile...
Bhè diciamo che se riusciamo a far funzionare la cosa.. ti spedisco un lcd uguale... XD
Ho un mio cliente che sta buttando via dei terminalini di produzione che usano questi bei LCD, ne ho già recuperati 7 ]:smiley:
Purtroppo usa tanti pin dell' arduino, se riesco a farli andare, poi vorrei cercare di farli funzionare tramite qualche port extender I2C ... altrimenti usi un arduino solo per il loro funzionamento :astonished:

Eccomi.. torno dalle prove di reset.. Purtroppo tutto negativo..
Ho provato sia con su massa e sia su +5v.. nada de nada.. non da segni di vita... :roll_eyes:

superzaffo:
Non ti preoccupare.. sei sempre molto disponibile...
Bhè diciamo che se riusciamo a far funzionare la cosa.. ti spedisco un lcd uguale... XD

semmai forse converrebbe invertire la cosa, potresti mandarmene uno per cercare di farlo funzionare ;), disponendo di strumentazione potrei cercare di scovare dov'è il problema, anche se è una cosa che non potrò fare prima di una decina di giorni.
Purtroppo, fatti i collegamenti e testato lo sketch, l'unica indicazione è quella del reset, abbiamo fatto una prova; l'unica cosa che mi viene in mente è verificare se i pin attivati nello sketch per i vari segnali corrispondono effettivamente ai collegamenti

Ciao a tutti.
Per quanto riguarda il contrasto però ti dovrebbe funzionare a prescindere dal reset o almeno credo visto che non ho mai utilizzato quei tipi di lcd. Dovresti provare a controllare tra GND e Vee se hai una tensione negativa rispetto a GND e di conseguenza se ti arriva al pin del contrasto che mi pare sia il 18 (vado a memoria). Poi ho provato a dare uno sguardo alla libreria che hai fornito (sono riuscito a leggerla con il blocco note quindi non bene :fearful:) ho trovato uno switch case che ti fa stampare l'errore del time out sull'lcd,se riesci a capire come risalire alla fonte dell'errore magari può aiutare.
Sono idee ....

@Michele.. Non ci sono problemi a spedirtene uno.. se in qualche modo mi dai l' indirizzo, te lo mando quanto prima.
Leggendo nei forum inglesi che parlano di questo tipo di errore, sembra che il problema dipenda dai collegamenti, ma sinceramente ho controllato un sacco di volte e anche con gli header di config della libreria.

@Tonid effetivamente funziona il contrasto, non si vede molto la differenza ma funziona. Sembra che non riesca a inizializzare i chip.

vi allego una foto dei collegamenti

P1020248.jpg

Vi posto altre info... se guardate il diagnostico, dice che l schermo ha 3 chips... ma a me risulta dal datasheet che ne ha 2
GLCD:ks0108 DisplayWidth:192 DisplayHeight:64
Chips:3 ChipWidth:64 ChipHeight:64
CSEL1:14(PIN_C0) CSEL2:15(PIN_C1)
RW:16(PIN_C2) DI:17(PIN_C3) EN:18(PIN_C4)
D0:8(PIN_B0) D1:9(PIN_B1) D2:10(PIN_B2) D3:11(PIN_B3)
D4:4(PIN_D4) D5:5(PIN_D5) D6:6(PIN_D6) D7:7(PIN_D7)
Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450
ChipSelects: CHIP0:(14,0x0, 15,0x0) CHIP1:(14,0x0, 15,0x1) CHIP2:(14,0x1, 15,0x0)

Infatti se guardo nel manuale c'è un esempio simile...
Chips:2 ChipWidth:64 ChipHeight:64
CSEL1:14(PIN_C0) CSEL2:15(PIN_C1)
RW:16(PIN_C2) DI:17(PIN_C3) EN:18(PIN_C4)
D0:8(PIN_B0) D1:9(PIN_B1) D2:10(PIN_B2) D3:11(PIN_B3)
D4:4(PIN_D4) D5:5(PIN_D5) D6:6(PIN_D6) D7:7(PIN_D7)
Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450
ChipSelects: CHIP0:(14,0x1, 15,0x0) CHIP1:(14,0x0, 15,0x1)

Allora vi aggiorno...
Ho trovato il problema, ho tolto il commento a questa riga

#include "config/ks0108_Manual_Config.h"       // generic ks0108 configuration

nel file glcd_config e adesso funziona lo schermo comprato in adafruit che è molto quasi uguale agli scermi che ho recuperato.
In questi ultimi sembra non funzionare il contrasto, il diag nel monitor seriale da gli stessi risultati dell' altro.

@tonid nel pin 18 (che secondo il datasheet è l' uscita gnd) ho un -1,4V mentre nel pin 3 che dovrebbe essere per il contrasto ho un valore variabile... da 0 a -4V

Per ora finisco quì.. vedremo domani..

grazie