Before COVID hit my son went to a costume party dressed as Professor Alastor “Mad-Eye” Moody from Harry Potter. I made him a moving eyeball using an Arduino, servo and ping pong ball.
Arduino Uno https://smile.amazon.com/dp/B008GRTSV6
Arduino Case https://smile.amazon.com/dp/B00HFSWC06
9-volt Battery Clip https://smile.amazon.com/dp/B01AXIEDX8
12g Servo https://smile.amazon.com/s?k=ES08MA (any mini servo will do but I have yet to have one of these little 12g metal gear servos fail in any of my RC projects)
3.5mm Stereo Jack Panel Mount Connector https://smile.amazon.com/dp/B01C3RFHDC
1K to 1M Ohm Potentiometer (Volume Knob) https://smile.amazon.com/dp/B07KCWM71T
1-1/2″ flexible pipe end cap https://smile.amazon.com/dp/B07FP3NMSH (I found mine at the local hardware store but I think this is the same one; The diameter is right but not sure if the depth is standard between brands)
20″ Leather Dog Collar (Found at my local farm/ranch supply store)
The first thing I did was learn how to control a servo with a potentiometer by using an Arduino. This video was the most helpful.
First I made a mock-up using jumper wires.
The code is really simple. Basically there are only two wires to worry about: The Analog or A0 pin for the potentiometer and the signal pin (I used pin 9) for the servo. The other two wires going to each component are just constant positive and negative to power them. The code is attached with a .c extension. Rename it with an .ino extension to open in Arduino or with a .txt extension if you just want to take a look at it.
After I was satisfied with the code I extended the three wires from the servo to the Arduino using a regular 3.5 mm headphone cable and installed a panel mount headphone jack on the end of the Arduino case. I mounted the potentiometer on the top of the case so the knob could be easily turned using your fingers while in your pocket. The headphone cable runs from the back of the leather collar down underneath your clothes to the Arduino in your pocket which is powered by the 9-volt battery.
Then I cut a slit in either side of the rubber pipe end cap and pulled the leather dog collar through. I used the rubber end cap so it would be a little more comfortable having it pressed against your eye vs something 3D printed. Then I mounted the servo horn/arm to the side of the end cap and inserted another screw through the last hole of the servo horn and through the end cap as well to make sure the servo turned and not the horn. I used several nuts to act as spacers between the horn and the side of the end cap so the servo was centered in the opening.
Then I cut a ping pong ball in half and stuck velcro inside and also on the end of the servo. A ping pong ball is a little over-sized compared to a real eyeball but it adds to the comic effect. I stuck a blue circle sticker on the ping pong ball for the iris and stuck an even smaller black dot sticker on top of that for the pupil.
The “real” Mad-Eye Moody has a brass ring around his prosthetic eye so I cut out the inside of a brass-colored salsa jar top and dremeled the heads off some brass screws and superglued them to the jar top. The top fit snugly over the rubber pipe.
It even still says MILD on the side lol. Anyway, thanks for looking!