Desk toys are perfect for when you don’t want to work. There’s a particularly old desk toy called the Newton’s cradle. If you don’t know the name, you’d still recognize the toy. It is some ball bearings suspended in midair on strings. If you pull back, say, two balls and let them swing to impact the other balls, the same number of balls on the other side will fly out. When they return, the same number will move on the other side and this repeats until friction wears it all down.
We think [JimRD] might be carried away on procrastination. You see, he not only has a Newton’s cradle, he has automated it with an Arduino. According to [Jim], this is his third attempt at doing so. You can see the current incarnation in the video, below.
There are two servos. One pulls back the balls and releases them and the other stops the balls in anticipation of the next operation. The servo that pulls the balls back is clearly magnetic. At first, we thought it was an electromagnet and that deenergizing it released the balls. That’s not the case. Instead, the servo arm has a permanent magnet, but foam decouples it from the ball so that if the arm pulls far enough away, the ball can escape.
Because of the differences in magnets, ball bearings, and other factors, if you try to duplicate this, you’ll probably have to experiment a little with the angles and speeds in the code. The ball stop servo is probably unnecessary, as long as you don’t mind waiting for the thing to wind down on its own.