Hello. We are using a Wav trigger for an exhibit and have everything added and working. I am curious does anyone have a recommendation for button debouncing? I am using regular arcade buttons to trigger the sounds and sometimes get multiple triggers when pressing slow. I have also thought about switching to leaf spring style switches thinking maybe the gradual press would help as opposed to microswitches.
Hi,
Adding a 100nF capacitor across the switch contacts usually solves bounce issues.
I hope this helps,
Paul
I will definitely give this a shot. Any specific way to put these inline? As of now I have th wires directly from the buttons to Wav trigger. Am I supposed to literally solder these inline? Is positive lead from cap inline with NO on button?
Hi,
The cap should be connected in parallel with the switch. Each switch needs its own cap.
Hope this helps,
Paul
Yes I think what I lll do is extend both legs of a ceramic cap and run it on the line going to trigger. Then ground to ground
If adding the caps is too much of a hassle (naturally, I’d drag my feet a bit, too), you could experiment with a different button/switch type, some are far better at make/break characteristics, others seem purpose-designed to ring around the rosie.
If you have a nearby ground (like if they’re lighted), you might be able to get away with adding caps to the backs of the buttons.
You guys are awesome. Throwing these ideas around and having this kind of feedback is great.
Maybe not the simplest solution, but you could put in a smallish Arduino-type board and use pairs of GPIO pins (one in one out per pair) and debounce in software, which would let you tailor the timing to what you want. I have a PushButton Arduino library just for that purpose, it’s downloadable from my GitHub.
Sounds like you’re suggesting using a micro controller for an almost pull-up resistor?
I connect each normally-open switch between GND and a GPIO set to INPUT_PULLUP. That GPIO would be assigned to a PushButton object in my library, with a debounce period specified. When the button is pressed long enough to cover possible bounce, the object THEN will indicate it is pressed. It’s then safe to digital write to another GPIO set to OUTPUT. Same logic debounces when the button is released.
So one device, say Arduino Micro, can be programmed to debounce multiple switches/buttons. Can be done with normally-closed too if you invert your logic.
That’s how I do it.
That would certainly yield satisfactory debouncing.