| MarKoZaKKa
| Inviato il: 5/6/2012,08:19
|
come detto nel thread principale, se la sola differenza tra f e g è la gestione doppio display, forse sarebbe meglio aspettare, non è essenziale... inoltre, due o più display credo possano essere pilotati comunque tutti a due fili... basta metterli in parallelo, o sbaglio?
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | MarKoZaKKa
| Inviato il: 8/6/2012,15:48
|
fatte le prove con la g... sembra funzionare tutto, ma lavorando con l'orologio, succedono cose strane: ad esempio il codice
CODICE 5 cads=0 10 a++ 11 rem A=right(date,8) 15 setio=&H0006f 20 lcdclear 21 lcdpos=17 25 lcdwrite="CIAO1 "&A 30 setio=&H2006f 35 lcdclear 36 lcdpos=17 55 lcdwrite="CIAO2 "&A 85 goto 10 impostando la riga 11 al posto della 10, fa bloccare il PPTEA... ma se imposto il setio come &H2866F &H0866F non succede...
Questo:
CODICE 10 CADS=0 14 A=INP 15 REM B=RIGHT(DATE,8) 30 SETIO=&H20000 42 LCDCLEAR 55 LCDWRITE=A&"" 62 SETIO=&H00000 74 LCDCLEAR 98 LCDWRITE=A&"" 'altrimenti non scrive... 106 GOTO 14 solo levando il REM alla linea 15, blocca tutto, anche se la variabile B non viene mostrata sul display...
buon lavoro...
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | NonSoloBolleDiA...
| Inviato il: 8/6/2012,16:14
|
CITAZIONE (MarKoZaKKa @ 8/6/2012, 16:48) impostando la riga 11 al posto della 10, fa bloccare il PPTEA... ma se imposto il setio come &H2866F &H0866F non succede... Questo è normale...vai a forzare il BUS I2C (dove c'è l'orologio) e lo metti come uscita.Se invece sollevi entrambe i bit (BIT 9 e BIT 10 ) cioè se metti 6 come 3 byte della SETIO...stai tranquillo che il PPTEA quando interroga l'orologio riesce ad interrogarlo. Occhio che se hai un programma su memoria esterna accade lo stesso...va in blocco perchè non riesce più a dialogare con la memoria.
Dovrebbe essere lo stesso problema per il secondo codice che hai scritto...mi fa venire in mente di cambiare modo per abilitare il secondo display...ma non cambia la situazione se si deve 'sminchiettare' con le uscite. Provalo e dimmi se sono riuscito a spiegarmi e se il problema è quello che penso. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...
| | | | MarKoZaKKa
| Inviato il: 8/6/2012,16:45
|
...confermo, si deve impostare i bit 9 e 10 a "1" (ovvero come input) per far funzionare tutto, quindi, nell'ipotesi di volere tutti output ed usare il doppio display, si dovrà scrivere: SETIO=&H20600 / &H00600, attenzione che bisogna specificare LCDPOS per ogni display, DOPO la linea SETIO... bastava pensarci... ma ero convinto che il fatto di usare l'i2c venisse gestito nel compilatore... mi cospargo il capo di cenere
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | NonSoloBolleDiA...
| Inviato il: 8/6/2012,17:16
|
CITAZIONE (MarKoZaKKa @ 8/6/2012, 17:45) ... mi cospargo il capo di cenere Allora il mio capo è sotto 10 metri di cenere... Una volta mi è accaduto che avevo utilizzato un bit che uscita sulla breadborad con il display agganciao alla schedina jolly e non andava...mi ero dimenticato che il display utilizza 6 pin ed il bit era uno di quelli...stavo impazzendo...non me ne accorgevo ed ho chiuso tutto. il giorno dopo mi sono illuminato...ho agganciato il display e mi sono mandato a quel paese da solo! Cmq stai testando in modo incrociato tutto ... e questa cosa mi fa pensare che forse è meglio spostare l'abilitazione dei display...perchè costringe a modificarli: sai quanti in futuro incontrerano questo problema? Occorre pensarci su...
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...
| | | | MarKoZaKKa
| Inviato il: 8/6/2012,17:24
|
... in che senso spostare l'abilitazione del display? La convivenza 2w/6w è un "esercizio" che ti fa perdere un ulteriore i/o; secondo me, se si ha bisogno di 2lcd, tanto vale collegarli in parallelo in 2w, dovrebbero funzionare... (stanotte ci provo... devo solo montare la seconda scheda adattatore 4 jumpers ed 1 ic ) Mi ci sono incaponito perchè non volevo ci fossero altri bug sotto, ma adesso son felice e son contento (perchè tira forte il vento...)
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | NonSoloBolleDiA...
| Inviato il: 8/6/2012,17:34
|
Fai bene a mettere in discussione tutto...soprattutto il mio lavoro...ma io sono perfettamente cosciente che se salta fuori un problema lo risolvo e non ha lunga vita. Se invece non è un problema, vuol dire che non è documentato bene e mi sembra questo il caso...in entrambe i casi...occorre pensare al rimedio. Ciao Bolle
--------------- Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...
| | | | MarKoZaKKa
| Inviato il: 8/6/2012,17:36
|
...ehm.... la doc non l'ho guardata....
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | MarKoZaKKa
| Inviato il: 12/6/2012,14:24
|
Era facilmente prevedibile, ma l'ho verificato circuitalmente, è possibile collegare due (ma anche di più) display in parallelo in modalità 2w; utilizzando il pin 15 (output enable) del CD4094, potrebbe anche essere possibile la selezione del display su cui scrivere, permettendo quindi di far apparire informazioni diverse sui due display, utilizzando un solo i/o del PPTEA in più (basta negare l'OE di uno dei due CD4094), farò delle prove in questo senso...
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | MarKoZaKKa
| Inviato il: 17/6/2012,09:37
|
Prove fatte, in realtà, per collegare più display che mostrino informazioni diverse in modalità 2w, è necessario fare l'AND tra il bit4 e la linea di selezione, mentre l'OE è ininfluente, e può restare fisso a +5V. In questa maniera, facendo due circuiti, uno che implementi (bit4 and bit1) e l'altro (bit4 and not(bit1)) con una sola linea scrivo su due display info diverse...
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | PinoTux
| Inviato il: 17/6/2012,12:44
|
Metti un esempio pratico per chi, come me, ha i neuroni in esaurimento...
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.al...
| | | | MarKoZaKKa
| Inviato il: 17/6/2012,15:21
|
mica solo tu... il primo l'ho fatto con diodo e resistenza... il secondo ho usato un bjt, ma devo ancora provare a farli convivere... quanto prima, posto schema...
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | MarKoZaKKa
| Inviato il: 8/7/2012,23:20
|
...Impegnato in mille cose, non ho più preso in mano il PPTEA, e mi ero completamente scordato della giusta osservazione di PinoTux. Ecco il circuitino che permette di pilotare due LCD in modalità 2W, utilizzando un solo bit di selezione. Quattro resistenze e due transistor NPN, ho usato i componenti che avevo sottomano, lavorando empiricamente. In pratica, descrivendo il tutto molto spannometricamente (o come dice un caro ex collega, a braccio teso e mano oscillante) il circuito funziona così: utilizzando una linea del PPTEA (BITx), quando questa viene messa dal sw a livello logico "0" (0V), BJT1 si interdice, lasciando che i dati transitino verso il CD4094 del primo LCD, mentre BJT2, trovandosi senza tensione sul collettore, non permette che sulla sua resistenza di emettitore appaia il flusso dati che gli arriva in base. Viceversa, quando BITx è a "1" (+5V), BJT1 conduce verso massa, bloccando il flusso dati verso LCD1, mentre BJT2, trovandosi alimentato, permette al segnale in base di andare verso il CD4094 del secondo LCD. QUi un piccolo programma che permette di verificare il funzionamento. Ho usato come linea di selezione il BIT7, perchè circuitalmente mi veniva più comodo sulla breadboard, ma ovviamente qualsiasi altra linea è equivalente.
CODICE 10 SETIO=&H2006f 'lcd in modo 2w 20 OUTBIT(7)=0 'seleziono il primo LCD 30 LCDINIT 'lo inizializzo 40 LCDCLEAR 'lo pulisco, superfluo ma utile in fase di smanettamento 50 OUTBIT(7)=1 'idem per il secondo LCD 60 LCDINIT 70 LCDCLEAR 80 a=RIGHT(DATE,8) 'prendo l'ora, giusto per avere qualcosa in movimento 90 OUTBIT(7)=0 ' seleziono il primo LCD 100 LCDPOS=17 'mi posiziono al primo carattere della prima riga 110 LCDWRITE="CIAO1 "&A 'scrivo l'ora preceduta da CIAO1 120 OUTBIT(7)=0 'seleziono il secondo LCD 130 LCDPOS=17 'idem come sopra 140 LCDWRITE="CIAO2 "&A 150 USBOUT=a 'mando sull'usb l'ora, utile in smanettamento per capire la causa di un lcd muto 160 GOTO 80
In pratica, un orologio dual display... Colegando un solo display, o due in parallelo senza il circuitino, appare la scritta alternata CIAO1/2 seguita dall'ora. Inserendo il circuito, il primo LCD scriverà CIAO1 seguito dall'ora, il secondo CIAO2 seguito dall'ora, e l'aggiornamento dell'ora sarà in sincrono sui due display.
SalutiImmagine Allegata: PPTEA_DOUBLE_LCD2W
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| | | | PinoTux
| Inviato il: 15/7/2012,18:23
|
Sto preparando il materiale...come avrai visto sto cercando di pulire e razionalizzare il sito, ma è un lavoraccio e ci vuole molto tempo... ciao Pino
--------------- "Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza"
http://iv3gfn.al...
| | | | MarKoZaKKa
| Inviato il: 17/7/2012,16:52
|
... ho scritto in lavagna perchè pensavo ti fosse sfuggito, preso appunto da altre cose, e magari ti serviva/interessava... buon lavoro!
--------------- Tecnico qualificato in clownerie
Windsurfer a tempo perso
Slalomaro senza speranze
...
| |
| | |
|
Versione Completa!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|