ciao,
I flipper elettronici, come gran parte dei sistemi che hanno dei tasti in ingresso, gestiscono i contatti a matrice, normalmente 8 righe per 8 colonne. La cpu attiva sequenzialmente le 8 righe, in modo univoco (ad esempio ponendo la riga a 0, cioè a massa) e legge insieme le 8 colonne; da qui ricava le informazioni per risalire al contatto chiuso. Il vantaggio di utilizzare una configurazione a matrice sta nel fatto che per gestire 64 tasti servono 8+8 fili, mentre senza matrice servono 64+1 fili minimo
i diodi sui contatti dei flipper elettronici servono per 2 scopi:
1) evitare cortocircuiti su due righe, quando sono chiusi insieme due contatti sulla stessa colonna ed i driver di riga non sono open-collector, ma push-pull
2) evitare falsi riconoscimenti se sono chiusi ad esempio tre contatti contemporaneamente, due su una riga attualmente inattiva ed uno sulla riga attiva ed i driver di riga sono open-collector
Sotto è riportata una tastiera 3x3, dove C1,C2,C3 sono le colonne, R1,R2,R3 sono le righe e da T1 a T9 sono i contatti a cavallo di riga e colonna.
Il caso 1) si ha, ad esempio, se sono chiusi T1 e T4 ed è attiva la riga R1, cioè viene portata la massa dalla riga R1 alla riga 2 che è tenuta ad 1 dal suo driver push-pull
il caso 2) si ha, ad esempio, se sono chiusi T1,T4,T5. La cpu riconoscerà erroneamente che sono chiusi T1 e T2 sulla riga R1, poiché anche la colonna C2 sarà portata a massa dalla serie dei tre contatti
C1 C2 C3
T1 /| T2 / | T3 / |
R1 - - - - | - - - -| - - - |- - -
T4 | T5 / | T6 / |
R2 - - - - | - - - -| - - - |- - -
T7 /| T8 / | T9 / |
R3 - - - - | - - - -| - - - |- - -
Mettendo un diodo in serie ad ogni contatto si evitano tutti i problemi sopra citati. Per non complicare troppo il disegno ti riporto solo un contatto con il diodo (K=catodo, A=anodo del diodo). Puoi provare a ridisegnare la tastiera sopra con i diodi in serie e verificare che non ci sono più i problemi che avresti senza diodo
_______
T1 / | |
R1 ____/ - - - - |K A | - - - - C1
Modificato da: maxbesoz il 29-lug-2014 14.52