Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Comments on De-bouncing input signals?

Parent

De-bouncing input signals?

+2
−0

I've heard that input signals to digital circuits should be "de-bounced", at least sometimes. What is de-bouncing? Why is it needed? When is it needed? What is bouncing around in the first place?

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

Post
+3
−0

Another hardware solution

There is another hardware debouncing technique widely used in the past. It is implemented by an SPDT push button driving (buffered by) an RS latch.

SR debouncer

(ganssle.com)

This configuration can be thought of as an "electromechanical timer 555" since it is based on the same idea - "artificially created hysteresis". Here the hysteresis is mechanical (the distance between the end contact surfaces) while in 555 it is electrical (the difference between ⅓ and ⅔ voltage levels). The same idea is implemented by the so-called "limit switches" where the hysteresis is determined by the distance between them.

In my opinion, it is the most reliable debouncing technique but it needs a more complicated switch, two pull-up resistors and an RS latch.

Mixed solution

But in these "micro times", we can implement the RS latch by the micro software so only the SPDT button will be needed… and, of course, two port inputs. The one of them will serve as an S input and the other - as an R input. Simply speaking, we remove the latch and connect the two output button terminals directly to the port. The software will write "1" in a memory cell (flag) when the S input is affected and "0" when the R input is affected.

Useful debouncing

There is such an inventive principle - use something harmful for some useful purpose. Let's try to apply it here.

The bouncing push button produces a random number of pulses; it acts as a "fading away pulse oscillator". So, if we drive a counter by a push button, it will counter a random number of pulses when pushing the button… and this arrangement will act as a random number generator.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

1 comment thread

General comments (2 comments)
General comments
coquelicot‭ wrote about 4 years ago

@circuit fantasist. I'm not sure I've understood (a schematic would have help), but I think this is related to the first section Debouncing in the link in the comment of Peter Mortensen just above. Maybe you can pick fig. 1 p. 11 of this document and insert it into your answer, or say something about it.

Circuit fantasist‭ wrote about 4 years ago · edited about 4 years ago

@‭coquelicot‭, OK, I have added it. Also, I have explained the connection between the button and the micro port.