tastiera a matrice

ciao a tutti, stavo cercando in giro uno schema di tastiera per numeri da 1 a 9, però quelle che ho trovato utilizzano 1 pin per riga e uno per colonna. io volevo usare solo il numero di pin minimo, per esempio 2 pin per 4 bottoni, 3 per 9 e così via, spedendo al micro una specie di numero in binario, pensando a una tastiera con quattro pulsanti 00 01 10 11 avevo pensato a questo schema:

Uploaded with ImageShack.us

in pratica il pin numero 3 server per "attivare" la tastiera (non penso di poter fare senza, perchè non saprei come gestire la combinazione 00) detto questo in base al pin che schiaccio mi arriva corrente su determinati pin.. e qui cominciano i problemi.. per evitare che se premo un pulsante mi si accendano tutti i pin bisogna usare un bordello di diodi... i diodi che ho messo nello schema bastano? si possono ridurre secondo voi? c'è una regola fissa per sapere dove bisogna mettere un diodo? (perchè ho perso un bel pò con 4 pulsanti, figuriamoci con 16...divento pazzo)

e se la fai analogica che è più semplice da controllare e costruire no ? :)

Quel schema non funziona. Per esempio pindigitale 4 é messo a massa fisso. I tasti li puoi collegare: * a matrice: 9 tasti 3x3, 12 3x4, 16 4x4 ecc. Se aggiungi un diodo ad ogni pulsante riesci a leggere anche piú tasti premuti in contemporanea. * con un partitore resistivo che viene in parte cortocicuitato dai tasti. in qesto modo ogni tasto corrisponde a una tensione diversa. puoi leggere solo un tasto premuto alla volta. se ne premi 2 non puoi piú sapere quali pulsanti lo erano. * usa una tastiera PC ( qualla con tutti i tasti o solo il blocco numerico) e ti servono solo 2 pin. Ciao Uwe

uwefed:
Quel schema non funziona. Per esempio pindigitale 4 é messo a massa fisso.
I tasti li puoi collegare:

  • a matrice: 9 tasti 3x3, 12 3x4, 16 4x4 ecc. Se aggiungi un diodo ad ogni pulsante riesci a leggere anche piú tasti premuti in contemporanea.
  • con un partitore resistivo che viene in parte cortocicuitato dai tasti. in qesto modo ogni tasto corrisponde a una tensione diversa. puoi leggere solo un tasto premuto alla volta. se ne premi 2 non puoi piú sapere quali pulsanti lo erano.

per caso hai lo schema?

  • usa una tastiera PC ( qualla con tutti i tasti o solo il blocco numerico) e ti servono solo 2 pin.
    Ciao Uwe

ma c’è un integrato che la gestisce?

@ratto93
in che senso? intendi collegare resistenze di vario valore su bottoni diversi e leggere la differenza?

esatto in cascata .... ogni bottone è in parallelo all'altro solo che ad ogni uno matte una resistenza diversa..... io la farei in maniera leggermente diverso ma il funzionamento è sempre quello :) e x di più usi un solo pin della MCU http://www.acorrias.it/?Arduino:Tastiera_analogica cè anche un bell'esempio :)

è un bel sistema, un pò diverso dal solito=) proverò a farlo, anche se voglio capire il discorso tastiera a matrice..

grazie mille!

scusate se riprendo questa discussione vecchia ma in questi giorni stavo lavorando anche io a una cosa simile. ho pensato se usi un convertitore R2R D/A riusciresti a collegare a 1 sola porta digitale 4 pulsanti forse anche di più, riuscendo anche a gestire tutte le combinazioni dei pulsanti

se non capite quello che intendo ditemelo che faccio un disegno :)