come funziona il debounce

oggi guardando un video tutorial su arduino ho la nessita come spiega la necessita del debounce video

ciao a tutti rslogix52

So che io ognitanto scrivo cose incomprensibili, ma Tu sembri di volermi fare concorrenza :wink: :wink:

Spiegati meglio e fai una domanda.

Ciao Uwe

... quel video è il tipico caso dove il "debounce" non è necessario, tanto non sarebbe visibile.

Fai una cosa invece, scrivi TU un programma in cui, ad una pressione del pulsante accendi il led ed alla successiva pressione lo spegni e così via.

Vedrai che, premendo più volte in continuazione il bottone, la cosa NON funzionerà come ti aspetti e ... dovrai necessariamente introdurre un "debounce" :wink:

Guglielmo

Fai una cosa invece, scrivi TU un programma in cui, ad una pressione pressione del pulsante accendi il led ed alla successiva pressione lo spegni e così via.

Io questo lo so fare ed l'ho già fatto ma il mio post è indirizzato a che livello di competenza vengono fatti i video, gente che si improvisa esperti.
rslogix52

rslogix52:
Io questo lo so fare ed l'ho già fatto ma il mio post è indirizzato a che livello di competenza vengono fatti i video, gente che si improvisa esperti.

ahhh beh ... questo lo abbiamo detto e ridetto 1000 volte ... il 85% di quello che si trova sulla rete sono delle emerite bojate, spesso totalmente diseducative e ancora più spesso piene di errori!

Vuoi un esempio su tutti ... leggi le frescacce emerite che questo scrive QUI ... cose che NON stanno né in cielo né in terra ... pin in INPUT (... quindi pin in alta impedenza) in cui "limita la corrente" con una resistenza per "non far assorbire più di 40mA e non bruciarli" :o :o :o ... renditi conto del livello di idiozie ... :smiling_imp:

Guglielmo

Ci sono tanti che quando hanno imparato qualcosina credono di sapere tutto.
Sopratutto per un principiante che é ancora nuovo nell'elettronica é impossibile capire che errori megagalattico certi tutorial o "insegnanti" fanno. Li ripete per mancanza di saperlo meglio.

Persiono Arduino.cc usava per tanto tempo un immagine dove mancava la resistenza sul LED.

È difficile se non impossibile distinguere senza una buona istruzione di elettronica le cose giuste da quelle sbagliate/errate.

Grüße Uwe

gpb01:
...
Vuoi un esempio su tutti ... leggi le frescacce emerite che questo scrive QUI ... cose che NON stanno né in cielo né in terra ... pin in INPUT (... quindi pin in alta impedenza) in cui "limita la corrente" con una resistenza per "non far assorbire più di 40mA e non bruciarli" :o :o :o ... renditi conto del livello di idiozie ... :smiling_imp:

Guglielmo

Quell'articolo andrebbe eliminato e il tipo andrebbe appeso per le orecchie... Non pensavo ci fossero idiozie così grosse in giro.

Poi, anche un led senza resistenza non è una cosa così grave (almeno per quello che ho provato sui miei Arduino fino ad oggi), sembra quasi che ti esploda in mano! Io non ne ho mai bruciato uno.

Poi penso che il problema debounce andrebbe ridimensionato: ho sempre usato microswitch a membrana (quelli che fanno "click" quando li premi) e non ho mai, dico mai, avuto la necessità del debounce.

P.S. Comunque il video richiamato dall' O.P. non parla di debounce...

steve-cr:
Poi, anche un led senza resistenza non è una cosa così grave (almeno per quello che ho provato sui miei Arduino fino ad oggi), sembra quasi che ti esploda in mano! Io non ne ho mai bruciato uno.

.... questo NON significa assolutamnete nulla ... ci sono delle specifiche, il datasheet parla chiaro, quindi ... i limiti dettati dal produttore NON vanno superati, senza ma e senza se!

Guglielmo

steve-cr:
Poi penso che il problema debounce andrebbe ridimensionato: ho sempre usato microswitch a membrana (quelli che fanno "click" quando li premi) e non ho mai, dico mai, avuto la necessità del debounce.

Errata anche questa affermazione, te ne porto mille di circuiti con ii classici pulsantini che, senza debounce, fanno come gli pare (... tengo corsi di Arduino ed uno degli esercizi è proprio quello di dimostrare che SERVE il debounce per evitare comportamenti anomali).

Ovvio che, all'aumentare della qualità del bottone, il problema tende a presentarsi sempre meno, ma con i classici pulsanti che trovi nei kit cinesi (... e non solo :smiling_imp:) ... si presenta eccome (... parlo di robaccia che supera anche i 50 msec di rimbalzi)!

Guglielmo

rslogix52:
oggi guardando un video tutorial su arduino ho la nessita come spiega la necessita del debounce video

ciao a tutti rslogix52

Sta descrivendo uno sgocciolatore per la corrente residua che resta nel cavo perchè non si scarica da nessuna parte.

maubarzi:
Sta descrivendo uno sgocciolatore per la corrente residua che resta nel cavo perchè non si scarica da nessuna parte.

Guglielmo

steve-cr:
un led senza resistenza non è una cosa così grave (almeno per quello che ho provato sui miei Arduino fino ad oggi), sembra quasi che ti esploda in mano! Io non ne ho mai bruciato uno.

Si perché: 1) l'uscita di Arduino ha limitato la corrente. 2) Il tutto è durato abbastanza poco da non stressare fatalmente l'uscita.

Ma un LED sovralimentato a me è scoppiato sparando come proiettili i pezzi della plastica di rivestimento.

Quindi si, alimentare i componenti oltre le loro specifiche non solo li può danneggiare, ma può anche essere molto pericoloso.

gpb01:
ahhh beh ... questo lo abbiamo detto e ridetto 1000 volte ... il 85% di quello che si trova sulla rete sono delle emerite bojate, spesso totalmente diseducative e ancora più spesso piene di errori!

Guglielmo

Guglielmo spero non ti riferisca ai video di Overvolt, che a mio avviso sono tra i migliori tutorial che ci sono in rete, io ho imparato ad usare arduino proprio con quei tutorial, oltre che con i libri naturalmente.

Flavi71:
Guglielmo spero non ti riferisca ai video di Overvolt ...

... non so nenache chi sia. :smiley: Come ho detto il 85% sono bojate, poi, indubbiamente, c'è un 15% di cose ben fatte :slight_smile:

Guglielmo

Il trucco, che vale un po' per tutto, è capire cosa si sta facendo e non copiare per sola fede!
In questo modo si riesce a far tesoro anche degli errori altrui!

EDIT:
Dimenticavo... e anche mettere in discussione sempre tutto non fa mai male. Anche una persona autorevole può fare errori!

gpb01:
Errata anche questa affermazione, te ne porto mille di circuiti con ii classici pulsantini che, senza debounce, fanno come gli pare (... tengo corsi di Arduino ed uno degli esercizi è proprio quello di dimostrare che SERVE il debounce per evitare comportamenti anomali).

Ovvio che, all'aumentare della qualità del bottone, il problema tende a presentarsi sempre meno, ma con i classici pulsanti che trovi nei kit cinesi (... e non solo :smiling_imp:) ... si presenta eccome (... parlo di robaccia che supera anche i 50 msec di rimbalzi)!

Guglielmo

Probabilmente è perchè io leggo i pulsanti da analogico ? (ma non credo che sia più lenta la risposta).
Davvero, mai avuto problemi di rimbalzi ed i pulsantini sono quelli cinesi da 0,1 Euro.
E comunque piùttosto di scrivere altre righe di codice per evitare i rimbalzi vado con un condensatore in parallelo al pulsante...
Un po' come attivare le resistenze di pull-up via software: preferisco l'hardware.

steve-cr:
E comunque piùttosto di scrivere altre righe di codice per evitare i rimbalzi vado con un condensatore in parallelo al pulsante...
Un po' come attivare le resistenze di pull-up via software: preferisco l'hardware.

... su questo pienamente d'accordo, anche io suggersico sempre di fare la cosa via una semplice rete R/C (... per altro unica strada praticabile se si deve utilizzare un interrupt).

Meno d'accordo sulle pull-up interne ... NON sono software, sono vere resistenze interne collegate ad un mosfet che, questo si da software, attivi o disattivi per connetterle o meno. Che poi magari, per alcune applicazioni, il loro valore possa essere troppo elevato e si preferisce metterne di esterne di valore differente ci sta :slight_smile:

Guglielmo

maubarzi:
Il trucco, che vale un po' per tutto, è capire cosa si sta facendo e non copiare per sola fede!

guarda, io sto cercando di capire tutto prima ed anticipare tutti i possibili problemi, col risultato che sono mesi che voglio fare certe cose e non le ho ancora fatte perchè mi pongo maree di problemi (qua una parte). e le piste sono larghe abbastanza? e sono distanti abbastanza? e l'alimentazione basta? e il cablaggio è troppo confuso? ma farà da antenna? e se cambio questo? ma optoisolo tutto? o chissene? e questo componente sarà abbastanza di qualità? e non spenderò 100€ per una roba che con 5€ me la cavavo?
AAAAHHHHHHH!!!!!
alla fine forse è meglio saldare insieme roba a caso e vedere che succede :smiley:

Beh… Sei molto coscienzioso. :slight_smile:
Bravo, ma poi stai attento a non esagerare!

cinquevolt:
guarda, io sto cercando di capire tutto prima ed anticipare tutti i possibili problemi...

Basta trovare il giusto compromesso.
Capire il principio di funzionamento ed essere un po' fatalista su certe altre cose:

DOMANDA: e le piste sono larghe abbastanza?
RISPOSTA: basta verificare la conducibilità del materiale, ci sono specifiche che dicono quanta corrente serve per vaporizzare una certa sezione di cavo :wink:
E comunque si parla di correnti che forse forse esulano un po' dal regolamento del forum, per i casi tipici non dovrebbero esserci problemi a meno che non le fai capillari :wink:

DOMANDA: e sono distanti abbastanza?
RISPOSTA: per tensioni basse no problem, se vedi a occhio che non si toccano.

DOMANDA: e l'alimentazione basta?
RISPOSTA: questa forse è la domanda più importante di tutte, specialmente per non friggere arduino, i limiti sono 40mA per singolo pin e 200mA totali, se sei ben sotto questi parametri sei ok altrimenti verifica meglio tutto, compresi i limiti che ho scritto io (qui scatta il: metti in dubbio tutto quello che ti dicono).

DOMANDA: e il cablaggio è troppo confuso?
RISPOSTA: rispondo con una domanda: se si stacca un cavo me ne accorgo? più ordinati si è e meglio è, ma questo vale per tutto. Tutto quanto è kung fu!

DOMANDA: ma farà da antenna?
RISPOSTA: se stai solo accendendo un led chissene, se stai facendo un apparato hi fi allora è il caso di approfondire un tantinino la cosa.

DOMANDA: e se cambio questo?
RISPOSTA: ti cambierebbe la vita? no = chissene, si = fallo!

DOMANDA: ma optoisolo tutto?
RISPOSTA: hai casi conclamati di disturbi che vuoi evitare che tornino indietro? altrimenti tieniti sui casi noti di utilizzo degli optoisolatori, se poi non va ci riragioni su.

DOMANDA: o chissene?
RISPOSTA: se rischio di briciare casa = no, se rischio di bruciare solo 2 euro di materiali e mi ci vogliono 2 mesi per togliermi ogni dubbio, anche si.

DOMANDA: e questo componente sarà abbastanza di qualità?
RISPOSTA: sul singolo componente non lo sa nemmeno la Intel! Se fai dispositivi military o medicali verifica tutto, ma abbandona arduino, altrimenti taca e scappa. Se parli di qualità, se parli di appropriatezza, rubo una frase a Guglielmo: guarda il datasheet!

DOMANDA: e non spenderò 100€ per una roba che con 5€ me la cavavo?
RISPOSTA: fai una ricerca in internet per vedere se la ruota l'ha già inventata qualcun altro e la vende a poco

Un po' di sano pragmatismo non guasta mai.
Se stai progettando qualcosa da 1000 euro, prenditi i 2 mesi di tempo per i dubbi che ti vengono.
Se stai provando una schedina cinese da 2 euro taca e scappa.
Chiediti solo una cosa prima di dare corrente: ho fatto il minimo di verifiche per non farmi dare del mona se scoppia tutto e lo racconto in giro? :stuck_out_tongue:
Vale anche per la domanda innocente del tuo amico quando gli mostri la tua creazione: come funziona? la risposta boohhh viola il punto precedente :wink:

cinquevolt:
...alla fine forse è meglio saldare insieme roba a caso e vedere che succede :smiley:

Ecco, se adotti questa strategia, ti prego, fammi sapere di dove sei, così capisco se sono al sicuro :wink: