A Digital signal is just an interpretation of an analogue signal and obeys the analogue laws, such as attenuation. If the signal to noise ratio (SNR) is not large enough, your chances of reading a false reading are much more probable (this is the power of the signal, not voltage).
Because we are dealing with small currents here (hence lower powered signals), false readings should be a concern. The problem with impulse noise is that it is a high powered signal, which can be caused by coupling with a light being turned on or off (not just a brush motor).
It would be wrong to assume that the switch used in Joker's project is of ideal nature. How long are the wires? How thick are the wires? What possible sources of noise are there where their project is designed to run? You don't know what environment and hardware Joker's project will be operating with, so saying that the probability of transmission impairments occurring is "very, very unlikely" is just not a good assumption. What if the switch was to turn on a nearby "brush motor"?
On
http://www.ganssle.com/debouncing.htmThe experiment in this article does
not address the issue of any sort of transmission impairments (eg: attenuation, delay distortion, thermal noise, impulse noise, crosstalk, ...). It does not say what power the signal it is, so it would be wrong to speculate; however, it does seem to be strong enough to ward off the effects of noise.
It also acknowledges the random nature of bouncing saying that 2 switches exceeded 6.4mSec in bouncing time, with one sample at 157mSec in opening (I'd put that switch in the bin). This article finished by saying, "
Assume things are worse than shown".
If you then click on <Go to Page Two of This report> at the bottom of the page, there are many different techniques for solving the debouncing switch problem.
It says,
"But the environment itself can induce all sorts of short transients that mask themselves as switch transitions. Called EMI (electromagnetic interference), these bits of nastiness come from energy coupled into our circuits from wires running to the external world, or even from static electricity zaps induced by shuffling feet across a dry carpet. Happily EMI and contact whacking can be cured by a decent debounce routine. . . . but both factors do affect the design of the code".
The bottom line of what I (and page 2 of the article deSilva provided) was trying to say is that using debouncing methods in your code/hardware
is good practice. Also, methods for debouncing can usually double up as protection against some transmission impairments: Therefore, debouncing should
NOT be omitted from your design as suggested by deSilva.