Huge Arduino Animatronic LED Eyeball using arduino
I’m currently in the process of making a Halloween contraption that has a few components that are worth documenting. The Huge Arduino Animatronic LED Eyeball is one of them.
Most animatronic eyeball projects that I found were more or less life-size. They were usually ping pong balls or dolls eyes or 3-D printed. I needed something bigger. I needed it to proportionally fit into a 2-ft diameter sphere. It didn’t need it to be high fidelity, though it did need to look kind of cool (otherwise the kids would think it was lame). I wanted to keep open the ideas of a cyclops or a 2-eyed monster. It needed to be animated to appeal to kids. Illumination was optional. The project itself couldn’t be expensive nor overly complicated. Finally, after Halloween was over, I wanted to be able to dismantle everything and reuse the parts for future projects.
Step 1: Parts
- Westinghouse 4in x 8in White Clip-On Shade (8149400), $3
- Ladybug felt (1.5″ black dots on red background)
- Spray on adhesive
- Craftsman Universal Joint, 1/4 in. Drive, $8
- 270 ohm resistor, x3
- 5mm RGB LED, common anode, x5
- 4mm Coroplast, ~9″ square
- Foam board, ~5″ square, $1
- Various color wire, 26 awg
- TE Connectivity / AMP 640456-4
- TE Connectivity / AMP 36438154
- 10lb picture hook, x2
- Hot glue
- Electrical tape
- HC-SR04 Ultrasonic sensors, x2, $3 ea
- Ethernet cable, ~4ft
- TE Connectivity / AMP 36438154, x4
- TE Connectivity / AMP 6404574, x2
- Electrical tape
- Simpson Strong-Tie tie plate TP37, $3
- Everbilt aluminum angle 1″ x 36″ x 1/16″
- Hex bolt 5/16″ x 1″ and nut, x3
- Bolt 1/4″ or 5/16″ x 1″ or 1 1/2″, x2; nut, x2; washer, x4
- 3/8″ plywood, 8″ x 6″
- 11/32″ (dia) x .014″ (thick) brass tube, $3
- TowardPro MG996R servo and arm, x2, $9 ea
- Music wire .047, $1 (can use a metal coat hanger)
- Large zip tie
- Heat shrink tube, large enough to fit over zip tie and servo arm, x2
- Cyanoacrylate (aka CA or Super Glue)
- Rainbow loom bands
- Sparkfun RedBoard (their Arduino UNO clone), $9 on Arduino Day
- Half-size breadboard, $4
- Velcro with adhesive backing
- Jumper wires
- battery packs, x2
There are only a few key items which make this project successful, IMHO. The first is the Westinghouse clip-on shade. It’s the perfect size and shape, lightweight, translucent, hollow, and cheap. The second is the 1/4″ socket wrench universal joint in conjunction with the 11/32″ brass tube. I tried a RC universal joint but it way too floppy. The socket wrench universal joint has enough friction to create a tighter movement. It also has enough degrees of freedom for this project. The brass tube provides a very snug fit over the joint’s male connector. Together they make a very nice rod and joint (more like tube and joint) system. The last item is the Coroplast. It is lightweight, rigid, and easy to cut. When cut perfectly to the inner dimension of the clip-on shade, it provides a very snug fit especially when pushed into the shade a bit. It won’t rotate or accidentally fall out (at least it hasn’t done so yet). And it can be popped in and out of the shade without it starting to fail. I originally had tried foam board but it started to bend and loose its rigidity. Thin plywood was my other choice, but it seemed to heavy.
As for the rest of the parts, use whatever works for you.
Step 2: The Eyeball
This is the simplest part of this project. Just cut out a circle of the ladybug fabric around a black dot. Get a large enough area for a nice red iris. Place it on the clip-on shade and shape it until you like it. Lastly, tack it down onto the clip-on shade. For a very long time, I just used double-stick tape because I wasn’t committed to using the felt. I was thinking about possibly having blue or green eyes or even snake eyes. Once my daughter decided red was it, I attached it with spray on adhesive which doesn’t create glue lines or hard spots in the felt.
Obviously you don’t have to use ladybug fabric. That’s just what I had laying around. You can use whatever you want – paper, paint, fabric, etc.
Step 3: The Eyeball Backing
Cutting the Backing Circle
With a very sharp pencil or fine tip pen trace the clip-on shade onto the Coroplast. Find the center of the circle just traced and mark it. Cut exactly on the trace line. Put the circle up against the shade. It will be too big fit inside. Now, ever so slightly, trim down the circle until it fits snugly into the shade. At some point it’ll be very difficult to pop out. Use an Exacto knife to pry out the Coroplast. Trim down the circle to the point where the entire circle fits into the shade and can be pushed in a few millimeters or so.
Attaching the Universal Joint
Verify that the center you marked is still your center. Adjust if needed. Draw a vertical and horizontal line from the center point. Use the Coroplast ribs as one of your lines. Then make sure the other line is exactly perpendicular to it.
When attaching the universal joint to the Coroplast, the goal is to line up the joint’s pivoting movement with the lines just drawn. Easiest way to do this is to put the universal joint face down on the center mark of the circle and pivot the other part of the joint up and down and then left and right making sure it looks true. Don’t let the orientation of the joint’s connector part guide you as they don’t seem to be aligned to anything. Now create a reference mark on the joint and on the circle so it’s easy to know how to place it down when gluing.
Use a liberal amount of hot glue on the joint and on the circle. Place the joint down on the circle matching up the reference mark. Quickly test the up, down, left, right movements to see if the alignment is true, rotating the joint if it isn’t. Work fast, the hot glue dries quick!
After the glue fully dries, the brass rod can be attached so that it’s easy to see how the eyeball will move.
Servo Push Rod Attachments
These are the things that the servo rod attaches to to move the eyeball around. I just used a J-style picture hook. Carefully straighten the top portion so that it looks like an L-bracket. Trim off the excess leaving some to be glued to the Coroplast.
To position them, align them on the axial lines that were previously drawn and about 1/2″ from the edge. The distance from the edge was arbitrary. Do what works for you.
RGB LEDs are used to light the eyeball. If they are clear lens LEDs, diffuse them. Wire them in a series since there will only ever be one color at any given time. Because each LED has 4 leads, mount them LEDs on a foam board and wire half of the leads on one side of the board and the other half on the other side of the board. This helps prevent short circuits in as small space. Create leads to the unit about 1.5 ft long. At the end of the leads attach a 4-wire connector. Then attach this connector to it. I have no idea if these connectors are meant for this purpose. They are convenient and they plug into a breadboard nicely. Finally, make a hole in the Coroplast and feed the LED wires through so that it sticks out the back.
Step 4: The Sensors
The ultrasonic sensors are used to detect objects on the left and right hand sides of the eyeball. Only the horizontal servo benefits from these sensors, but I thought I’d have the eye randomly look up or down when looking left or right to give it some character.
Basically all that this step is about is extending the pins on the ultrasonic sensor by 1.5ft to 2ft. Using the TE connectors make it easy to put on and take off the ultrasonic from the cable. Also, the connectors makes it easy to connect the cable on and off the breadboard. Lastly, using an Ethernet cable is nice because it has the sheath already keeping everything tidy. As always, use what works for you.
For more detail: Huge Arduino Animatronic LED Eyeball using arduino