Hello!
I am working on a from scratch pinball project and am looking for ideas on improving some of my sensor designs. I am making the sensors rather than buying pinball machine parts/microswitches/etc.
Please see the attached image which I hopes help clarify the ideas I have now for event detection.
POPBUMPERS
The only one I have tested so far is the popbumper collision detection, and I'm not happy with the results yet. For those who aren't familiar, popbumpers are the round actuators that shoot the ball out the direction the ball collided from by rapidly pulling down an angled ring. Real pop bumpers have a mechanism that isn't feasible for me to replicate in order to detect a ball collision with the bumper. My current set up detects the ball by the conductive ball completing a circuit between the metal shaft which supports the shooter ring and a flat metal ring encircling the shaft. The problem is that even when I've tested with interrupts on the Arduino, the time that the circuit is closed (while the steel ball is bouncing off the shaft) can be so brief (nearly instantaneous) that it only registers about half the time, meaning that I hear the ball collide with the shaft but the game totally misses it and the bumper doesn't fire reliably.
Two ideas I have are implementing some circuit that extends the amount of time the signal is pulled high (or low) or messing around with capacitance/discharge timing of the system. I haven't thought of a real good approach for the circuit, and I anticipate a couple issues with the capacitance method. The capacitance change detection would theoretically increase the time I can detect the ball because it wouldn't only include the time the ball was physically touching the shaft, but I'm not sure if I'd be able to run the necessary timing calculations with enough frequency and speed while still taking care of the rest of the sensors, scoring, lights, etc. Also, since the ball is small, I'm guessing it would be significantly more difficult to detect than human touch.
TARGET SENSOR
My current best idea for a simple sensor that detects when a target has been hit is one in which the target is on a fulcrum and spring or elastic loaded into the forward position where a circuit is closed. When the target is hit it temporarily breaks contact and opens a circuit. I anticipate that I could also have too short of a change here in switch status and this may also benefit from a circuit that prolongs time to register the event. (The pop-bumper is slightly more sensitive in timing because it has to react in time to shoot the ball back out before it simply bounces off and is out of range, but this one just has to eventually (ie. within a second) give the player their points.
ROLLOVER SENSOR
This one I think is going to work with my current design, but I haven't tested it (hopefully tomorrow I will test a prototype) and am still open to suggestions. It would be a firm wire (ie. heavy paperclip) with a bend in the middle that protrudes from a slot in the playfield and depresses when the ball goes between the appropriate guiderails, opening a circuit. Because it will take time for the ball to roll over the switch, I'm thinking that there will be enough time to register the change in switch status with this one.
OTHER
I have some other sensor types involving IR LED/transistor pairs, etc, but I think I'm okay on those.
I apologize about shotgunning so many different things out there, but I am sure that somebody(ies) on here will have suggestions of simple solutions I haven't been able to think of.
Any suggestions on detecting these events are welcome. Thanks ahead of time!