Makers, developers and Arduino enthusiasts may be interested in a new Arduino project created by Reddit, maker “tkuhn” who has decided to create a machine with the sole goal of “keeping a ping pong ball bouncing for as long as possible.” Check out the video below to learn more about the project and see the machine in action.
The interesting Arduino project is equipped with four electret microphones that sense the sound of the bouncing ball using the time difference between the sounds to calculate the position of the ping-pong ball. With the help of a simple flip-flop circuit, while an Arduino Nano is used to reset it after each cycle. The project is powered by an Arduino Uno connected to four steppers motors, drivers and a linkage system to keep the ball in motion. Some words about how this PID controlled ball and plate works:
“The location is calculated from the time difference between mic pairs (one pair for each axis on the 2-dimensional plate). The noise from the ball hitting the plate is a very loud one; It was surprisingly easy to distinguish it from other sounds. You can talk casually nearby the machine and it won’t be affected.
There is a small analogue circuit to process the signals from the mics. Each mic sets a flip-flop (a thing to store a either a “1” or a “0”, digitally speaking) if it’s amplitude surpasses an adjustable voltage level. An Arduino Nano is watching all the flip-flops and resets them after they all got set (the blue LEDs in the video show the current flip-flop states). The Arduino checks the states as fast as possible, this allows for a reasonable accuracy. Another Arduino then uses this data to tilt the plate in such a way that the ball will – hopefully – not fall down. It uses a PID controlling approach for this.”
For more information jump over to the makers official YouTube channel via the link below.