Ciao,
con un solo pin analogico di arduino misura la corrente, che in base a quante resistenze incontra varia consentendo di capire quale pulsante si è premuto.
Concettualmente ho capito e su breadboard funziona. Premetto che non mi serve, ma vorrei capirlo.
con nessun pulsante premuto misuro 5v. Ma se la corrente passa per una resistenza di 4.7k non dovrebbe abbassarsi?
Più lunga è la catena di resistenze che arriva al pulsante premuto e meno corrente viene mandata a massa. Arduino quindi misurerà una corrente sempre maggiore. giusto?
la spiegazione qui c'è, ma non mi è stata chiarissima(almeno per me)
Quando nessun pulsante e' premuto, il circuito e' connesso a massa tramite la R da 4K7 (quindi misuri i 5V) ... quando chiudi uno dei pulsanti, crei un partitore di tensione, collegando una o piu resistenze a massa, secondo quale dei pulsanti chiudi ... in base al valore complessivo del ramo collegato a massa, il partitore ti dara' sul pin una tensione diversa per ogni pulsante ...
EDIT: io personalmente pero' non userei un sistema come quello, a meno di non ricalcolarsi tutte le resistenze, perche' se le resistenze fra i pulsanti sono tutte uguali, ogni pulsante ha un'intervallo di variazione differente, e se fossero molti, potrebbero risultare difficili da discriminare ... con lo schema che ti allego, invece, ogni intervallo di variazione e' sempre una frazione uguale del numero dei pulsanti ... con 6 pulsanti come disegnati, l'intervallo e' sempre di un sesto di VCC, se fossero 10 sarebbe un decimo, e cosi via ... la R da 100K puo essere aumentata, serve solo per non lasciare l'ingresso libero, e se ci si mette un condensatorino in parallelo, tipo 10n o 22n, fa anche da antirimbalzo
O usi un circuito R-2R e ottieni un DAC e puoi leggere indipendentemente i pulsanti o é meglio che prendi 2 Pin e usi uno o piú Port Espander I2C e una matrice di pulsanti.
Elrospo le resistenze le puoi mettere anche diverse, ma è sempre un solo pin analogico che puoi leggere, quindi se imposti che con un pulsante hai tipo 800 di valore del pin analogico, se ne premi un altro contemporaneamente leggerà sempre un solo valore di un pulsante