La Porta Parallela: in breve ed in concreto (0+)
scheda optoisolatori universale + aggiornamenti
Gestione input ed output con Excel/VBA
Perché parlare ancora della Porta Parallela, adesso che non si usano più?
Le schede aggiuntive costano molto poco e si possono utilizzare su PC obsoleti dal costo irrisorio.
Ebbene... sì!
La tentazione di farmi una scheda d'interfaccia optoisolata, adatta al cavo-morsettiera
(ma anche ai connettori da pannello DB25 e CS36), mi ha vinto!
(gli amanti del PCB, invece, mi avrebbero facilmente convinto di farne a meno)
Per cui, ecco di seguito i circuiti adottati (per il registro DATI sono stati utilizzati zoccoli 8 pin con lo scopo di poter montare 'opportunamente' tutti gli 8 optoisolatori alternativamente per l' output o per l'input), intanto 2 foto:
Lasciando il pin 4 del 4N25 al di fuori dello zoccolo, si può utilizzarlo come ulteriore indicazione: se punta verso l'interno della scheda indica l'input, mentre se punta verso l'esterno della scheda indica l'output.
Tutte le linee, sia in entrata che in uscita, sono invertenti.
|
clicca per ingrandire |
|
clicca per ingrandire |
Infatti, figure 3-4, se si monta l'optoisolatore con il proprio riferimento 'non coincidente e non coprente' quello dello zoccolo, si predispone per il 'ModoOutput (con l'interruttore 5V chiuso); se si monta con il proprio riferimento 'coincidente e coprente' il riferimento dello zoccolo, si predispone per il 'ModoInput' (con l'interruttore 5V aperto).
Qui sotto, il prototipo fatto su scheda millefori e l' esempio per circuito stampato (non ancora verificato).
Sulla scheda occorre riportare il positivo 5V da PC: approfittando della presenza nel cavo-morsettiera di una coppia di fili inutilizzata, l'ho intercettata per connetterla al 5V del PC tramite un connettore per le periferiche libero; poi, sulla scheda opto, rinunciando ad una delle connessioni di massa, l'ho invece utilizzata per la connessione di detto positivo.
Per il test, ho utilizzato un circuito volante costituito da una batteria 4,5 V che alimenta un led rosso tramite la resistenza di circa 220-270_Ohm, ponendo il negativo della batteria a massa ( morsetti segnati in nero ) e :
- connettendo temporaneamente il reoforo del resistore (lato anodo del led rosso) sulle entrate (una per volta), si alimenta il fotodiodo del 4N25, anodo aperto, relativi ai 4 input del registro di stato + 8 input del registro dati ( questi ultimi, se gli optoisolatori sono inseriti in 'ModoInput' e l'interruttore della 5 V aperto)
- connettendo temporaneamente il catodo del led rosso sulle uscite (una per volta) si alimenta il medesimo, tramite il fototransistor del 4N25, collettore aperto, pilotato dai 4 output del registro di controllo + 8 output del registro dati (questi ultimi, se gli optoisolatori sono inseriti in 'ModoOutput' e l'interruttore della 5V chiuso).
Sulla scheda, l'input s7 è riportato a parte, come era nel cavo-morsettiera, perché ho riservato tale segnale per lo 'STOP' ed uscire dall'esecuzione del software, più comodamente, in remoto dal PC.
|
clicca per ingrandire |
(sulla scheda sono indicati i pin dei connettori db25=NN e centronics36=NN per l'utilizzo con cavi prolunga o stampante)
Qui è visibile una demo del CavoMorsettiera, 2 giochi di led con velocità variabile:
www.youtube.com/watch
Qui il testo VBA della demo, come già visto nei precedenti articoli, da copiare nel modulo VBA di una nuova pagina di Excel
(avviare sub CreaFoglio):
UserFiles/aarobot/PP_Up2Down_BC00.txt
Qui, invece, il foglio di Excel, privo di Macro, che farà da supporto per le future applicazioni VBA:
UserFiles/aarobot/Grix0+_RegEventi1-07.xls
In questo foglio, con protezione attiva (ma senza PW), è possibile variare il valore impostato nei registri (celle: riga 10 e 30, colonne K,T,AC) è vedere che succede... ...senza modificare gli Input/Output delle porte parallele: questo avviene SOLO nell'esecuzione delle Macro VBA.
Il foglio contiene l'applicazione REGISTRAZIONE_EVENTI che sarà oggetto del prossimo articolo, un'anticipazione nell'immagine seguente:
Usando la scheda optoisolatori, per questa applicazione occorre predisporla nel 'ModoInput' (ricordare l'interruttore 5V aperto) come foto seguente:
|
clicca per ingrandire |
Cerco di essere, volutamente, il più breve possibile: intendo descrivere, spero, quanto basta.
Qui, il precedente articolo (0):
/ArtPP(0).pdf
A presto... AArobot
19/03/2012
NB: Sono certo che tutto quanto presentato è migliorabile... di molto, anzi moltissimo:
... mi sono accontentato che il tutto funzioni!
Chiunque vuole migliorare lo faccia pure, ciò è gradito: Vi prego, quindi, di inserire i Vs. apporti nei commenti.