Pulsante, resistenza esterna o software?

Ciao ragazzi,
Mentre facevo una prova con un nuovo pulsante che ho comprato mi è venuto un dubbio.
Leggendo lo stato del pulsante premuto e stampandola su schermo noto che:

  1. se utilizzo una resistenza di pullUp esterna i valori sono molto instabili, dando il valore TRUE anche quando non premo il pulsante.
    La resistenza che uso è da 10k e la metto prima del pin digitale, inoltre nello sketch ho inserito un delay da 50 (anche se ho aumentato 100 per maggiore stabilità).
    2)se attivo la resistenza di pullup da software e non uso quella esterna, non ho alcun problema di instabilità (con lo stesso delay)

Come mai succede questo? È preferibile utilizzare la resistenza esterna o quella interna? Posso quindi collegare il pulsante con due fili e basta?
Grazie

La resistenza esterna è sufficientemente vicina alla MCU ? Che lunghezza hanno i fili che vanno al pulsante ?

Comunque, guarda le varie configurazioni in allegato :slight_smile:

Guglielmo

debouncing_hw.pdf (22.8 KB)

Il filo che va dal pulsante ad arduino è lungo 10 metri

... e sai la "monnezza" che capta su 10 mt !!!

Usa uno degli schemi che ti ho allegato e vedi se il tutto è più pulito :wink:

Guglielmo

Ma il circuito col condensatore devo metterlo vicino al pulsante o vicino ad arduino?
Scusa la domanda stupida :sweat_smile:

Ma se funziona bene con il pull-up interno non puoi usare quello è basta? :wink:

Mi sembra strano che il pullup esterno non funzioni.

Ma porti sia i 5V che la massa sul cavo al pulsante e alla resistenaz pullup?

Ciao Uwe

Collego i 5v ad un piedino e sull'altro mettro la resistenza collegata a massa

La resistenza va tra i 5v e il piedino, nello stesso punto dove attacchi il pulsante!

salvatore_94:
Collego i 5v ad un piedino e sull'altro mettro la resistenza collegata a massa

allora in paralello al pulsante?

Cosí non va bene. La resistenza deve andare tra Entrata Arduino e 5V, anche vicino al Arduino.

Ciao Uwe

uwefed:
allora in paralello al pulsante?

Cosí non va bene. La resistenza deve andare tra Entrata Arduino e 5V, anche vicino al Arduino.

Ciao Uwe

Ah no scusa ho sbagliato, ho risposto mentre seguivo all'università :sweat_smile:
Metto i 5v su un piedino, sull'altro la resistenza collegata al pin di ingresso ovviamente.
Scusate

E l'altro capo della resistenza dov'è collegato?

SukkoPera:
E l'altro capo della resistenza dov'è collegato?

All'altro piedino del pulsante

salvatore_94:
All'altro piedino del pulsante

Ma almeno un'occhiata agli schemi che ti ho dato l'hai data ? ... perché capiresti dove stai sbagliando ... ::slight_smile:

Guglielmo

fai uno scizzo del circuito, fotografa e manda la foto.
Cosí non caoisco come hai fatto il circuito.

Ciao Uwe

Non capisco nemmeno io, ma ripeto:

La resistenza va tra i 5v e il piedino, nello stesso punto dove attacchi il pulsante!

Si, scusate sono stato un po' frettoloso.
Comunque credo che userò il primo schema del file di Guglielmo con la resistenza interna.
Ma mi chiedevo, 100ohm e 22nF sono i valori esatti da utilizzare? O sono solamente indicativi?