Go Down

Topic: 6 o piu pulsanti su un pin (Read 2005 times) previous topic - next topic

leo72

Beh, 2 pulsanti insieme mi pare già abbastanza. Non è che uno si metta a premere il tastierino col palmo della mano... come si faceva a 15 anni sui campanelli dei palazzi  ]:D ]:D

gingardu


bhe i valori li devi precalcolare un minimo, altrimenti non sai il rage ADC a quale pulsante corrisponde (salvo fare prove direttamente)
Comunque mi riferivo al fatto di premenre più di un pulsante contemporaneamente, in tal caso bisogna studiare un attimo il modello matematico


mah l'unico rischio reale che c'èra è che  premendo pulsanti simultaneamente si poteva mettere in corto
il piu col meno   cosi è impossibile perche anche a premere tutti i pulsanti ci sono le 2 resistenze alle estremita che non fanno fare corto,
per il resto c'è il software
se un pulsante prermuto da 100
e metto
if  (analogRead(A1) > 95 && analogRead(A1) < 105).........

sembra impossibile che pigiando altri pulsanti a caso si possa ottenere un valore compreso tra 96 e 104

PS: da tenere a mente che anche se le resistenze sono al 5%  questo non significa che una resistenza di 1.000 homs   una mattina   la trovi    a 1050 homs     e la mattina successiva a 950 homs  
e in un range di temperatura da -10   a +40 stanno quasi ferme senza contare che anche quelle vicine sono alla stessa temperatura
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

lesto


sembra impossibile che pigiando altri pulsanti a caso si possa ottenere un valore compreso tra 96 e 104


you are underestimating the power of combination...
non ho fatto i conti, ma scommetto che ci sono almeno 4 o 5 modi (premendo più di 2 pulsanti) per ottenere quel valore.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Michele Menniti

Perdonatemi se insisto; continuo a sostenere che i sistemi a partitore non siano indicati, per molte ragioni, ad essere usati per pressioni multitasto. Perfino la lib dei keypad a matrice prevede la sola gestione monotasto. Pensare di adattare queste tecniche col software non è buona sperimentazione, a mio parere, ci sono troppe variabili e troppo "incognite", se vogliamo pensare alle possibili combinazioni di pressione. Il sistema di gingardu io lo vedo come un partitore in grado di fornire un valore (rientrante in un range (±5%*R)) in base AL TASTO premuto, fatta questa "scala" io bloccherei ogni valore extra.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

Ma alla fine Gingardu, che necessità hai? Ti servono letture combinate o no?

uwefed

#20
Sep 27, 2012, 10:14 pm Last Edit: Sep 27, 2012, 10:24 pm by uwefed Reason: 1
Soluzione per multi (dico mmmmuuulllti) tasto ( anche tutti premuti contemporaneamente e solo 2 pin analogici occupati é un port expander I2C con ogni pulsante collegato a un entrata con la sua puppup/down oppure una matrice con un diodo in serie a ogni pulsante.
Ciao Uwe

gingardu


Ma alla fine Gingardu, che necessità hai? Ti servono letture combinate o no?


che letture combinate?

solo sei pulsanti  disposti in fila cosi come da disegno
da premere uno alla volta  il piu  vicino al centro abilita la lettura di un potenziometro  su A0
quello a fianco fa la stessa cosa ma la lettura del potenziometro e moltiplicata x 100
il pulsante all'estremita memorizza nella eprom il valore letto del potenziometro

quindi  3 pulsanti da un lato 2 regolano e uno memorizza 
3 pulsanti dall'atro lato  2 regolano e uno memorizza

che problemi potrebbero sorgere?
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

Michele Menniti

usati così, uno per volta, nessuno, come ho già detto quel tuo partitore ha una sua logica, la discussione messa in piedi da lesto (mi pare) è tutta teorica sul possibile uso di più pulsanti in contemporanea.
mi permetto di insistere sul consiglio che ti avevo dato circa i valori delle R che hai usato, nient'altro.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

lesto

sì, colpa mia  :smiley-mr-green:
ma mi interessava sapere se c'era qualche metodo valido per i multiclick su un solo pin ADC  XD
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Michele Menniti


sì, colpa mia  :smiley-mr-green:
ma mi interessava sapere se c'era qualche metodo valido per i multiclick su un solo pin ADC  XD

se si progetta il partitore in funzione del multiclick l'unico problema diventa quello delle tolleranze delle resistenze, usando componenti allo 0,5% si può fare, credo, ma io il cervello non ce lo perderei dietro ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up