The Model H Skee-Ball machine uses Cherry micro switches for scoring and ball counting. These switches are E51/F51 switches: datasheet. You can still buy them from many places here for example. While they work they are horribly bouncy and prone to missing a score or ball and counting a score or ball twice.
You can spend hours adjusting the metal wires to get them in just the right place to score and count balls. I’ve replaced all of them at least once as they only last so long before they get to loose to work correctly. Working with them in the new build was a challenge that required a combination of hardware and software debouncing. I didn’t really know anything about debouncing before this aside from using a pull-up or pull-down resistor. Thanks to Elliot over at HACKADAY I learned how to actually denounce something.
Bouncing is when an electrical signal bounces between one state and another many times during a translation between states. In my case I would get many high/low transitions when a ball would trigger the switch. This caused either many scores or many ball counts. For instance rolling one ball into the ten hole might score 50 points and count for 5 balls. These switches bounced for about 250-350 milliseconds per transition. By using a pull-up input with a capacitor and resistor in parallel between the switch and ground the bounce was reduced to between one and three milliseconds. This was a value that could be dealt with easily in code.
The the adjustments required and the short life of the switches I knew I would have to replace them with something else down the line. Newer machines use optical IR reflective sensors like this instead of mechanical switches. This has the benefit of no moving parts and being digital not requiring a debounce. The ones for the new machines are expensive at $33 a piece and six being required. I plan on fitting some kind of optical sensors as the project move forward but for now the mechanical switches stay. Next up is the code to make it all work.