Ottimizzazione Resistenze
Allora, il problema è il seguente.
Devo semplicemente gestire con un ingresso analogico di Arduino due pulsanti contemporamente per risparmiare un po' di pin.
Ora una delle soluzioni classiche è quelle di usare il seguente circuito
Dove la Vi è quella letta dall'ingresso analogico di cui parlavo.
* Se nessun pulsante è premuto Vi = Vo.
* Se si preme il primo interruttore Vi/Vo = R1/(R1+Rp).
* Se si preme il secondo interruttore Vi/Vo = R2/(R2+Rp).
* Infine devo prevedere che "la scimmia" prema entrambi i pulsanti (leggero' una Vi minore degli altri 3 casi)
Lo scopo è trovare la migliore relazione tra R1 R2 e Rp per avere la migliore separazione possibile tra i 4 casi.
L'idealità (a mio avviso) sarebbe avere 100% 66% 33% 0% ... ma non è possibile [soprattutto lo 0%] !
Andando un po' per tentativi mi ritengo abbastanza soddisfatto di aver trovato questa relazione
R1=2
R2=4
Rp=3
Che mi da', nei 4 casi, Vi/Vo = 100% 57% 40% e 31%
Quindi metterei le soglie per i riconoscimenti dei 3 casi ad 80% 50% e 35%... funziona me non è il massimo
Senza ammattirvi con dimostrazioni complicate, sapete trovare soluzioni migliori in termini di massimizzazione delle distanze tra i valori, in modo da irrobustire le soglie, magari con una equispaziatura maggiore tra i valori?
Devo semplicemente gestire con un ingresso analogico di Arduino due pulsanti contemporamente per risparmiare un po' di pin.
Ora una delle soluzioni classiche è quelle di usare il seguente circuito
Dove la Vi è quella letta dall'ingresso analogico di cui parlavo.
* Se nessun pulsante è premuto Vi = Vo.
* Se si preme il primo interruttore Vi/Vo = R1/(R1+Rp).
* Se si preme il secondo interruttore Vi/Vo = R2/(R2+Rp).
* Infine devo prevedere che "la scimmia" prema entrambi i pulsanti (leggero' una Vi minore degli altri 3 casi)
Lo scopo è trovare la migliore relazione tra R1 R2 e Rp per avere la migliore separazione possibile tra i 4 casi.
L'idealità (a mio avviso) sarebbe avere 100% 66% 33% 0% ... ma non è possibile [soprattutto lo 0%] !
Andando un po' per tentativi mi ritengo abbastanza soddisfatto di aver trovato questa relazione
R1=2
R2=4
Rp=3
Che mi da', nei 4 casi, Vi/Vo = 100% 57% 40% e 31%
Quindi metterei le soglie per i riconoscimenti dei 3 casi ad 80% 50% e 35%... funziona me non è il massimo
Senza ammattirvi con dimostrazioni complicate, sapete trovare soluzioni migliori in termini di massimizzazione delle distanze tra i valori, in modo da irrobustire le soglie, magari con una equispaziatura maggiore tra i valori?



e di
devono essere scelti in maniera che la loro somma sia il più possibile vicina a 5V (ovviamente non proprio coincidente). In sostanza nei 4 casi avrai:
;
e
, otterrai come 4 valori 0V, 1.5V, 3.3V e 4.8V. Mi pare che il valore 1.5V non esista, però puoi cavartela anche con 2 diodi comuni (4148) in serie. Ovviamente il problema è dimensionare opportunamente R per garantire una corrente il più bassa possibile, che sarà massima quando sono premuti entrambi i pulsanti e vale
, però dovrà anche essere maggiore della minima corrente di zener inversa
. 