Emotion Display Robot

by johnofarrellkc in Circuits > Arduino

27 Views, 0 Favorites, 0 Comments

Emotion Display Robot

50168392-fc20-4fa1-86ca-fb3b4151279a.jpg

We made a Robot that uses the Sparkfun kit to affectively display emotions through the use of servo motors and various facial parts. This Emotion Display Robot can compete in the 4H Robotics Competition.

Supplies

Screenshot 2025-12-04 190011.png

3D printed parts, cardboard, tape, scissors, super glue, popsicle sticks, and the Sparkfun Kit were all used in the general construction of the project.

Wiring the Arduino Board in Tinkercad

a34850c0-0b1c-4261-a1e1-e30f3fa683d7.png

The first step of construction is to use Tinkercad to virtually wire our Arduino Board. Start by placing four equally spaced apart buttons on your breadboard and wire the left pins to the ground. Then wire the right pin to the 13th, 12th, 8th, and 7th pin accordingly. Following wiring the buttons get all 5 servos and wire the left-most port to ground, and the middle port to power. After wiring the servos, take the right-most ports and wire them to ports to the 11th, 10th, 9th, 5th, and 3rd accordingly (make sure these numbers have the little squigly line next to them). You're done with the wiring, now make sure to get it right on the physical board!

3D Print Parts

To 3D print each individual part for the construction of the robot, use these three downloads for SolidWorks and print them.

The Face

a2a5abe1-c93d-400c-9df8-db4e659be239.jpg
647517fb-90e5-4f4a-a6b9-175f81922722.jpg
b3debde3-5256-42c3-96c7-f2493b31c05f.jpg
04849252-c597-41f9-af05-466b515d9bf1.jpg
bb86d671-09a1-49b9-9a1c-dad4a1b517a3.jpg
f7e595e0-fe1c-400a-945f-ca722159b731.jpg
f8b8c8b0-cf19-4018-b88b-e1f08828b16c.jpg
b53326c2-da67-4378-a777-0226e65d785d.jpg
ec486048-97c8-469c-a8ba-c5d64bc6c87d.jpg
1f38c4a4-89e2-4e8e-8c55-87ecefa86553.jpg
b7c604ec-aae2-4bfc-870a-96ca75ba7eaf.jpg
d52b246f-c8e9-420a-9397-d64babd563bb.jpg
0e3fce20-0b84-4780-b33c-9650bd480937.jpg
95202615-149d-4551-afc6-3083294be863.jpg
28df1ca8-28ec-415d-a5bf-0a3262c164e6.jpg
5d31207a-5483-453e-83db-89957fd3118e.jpg
cddf84fa-4112-496d-9f5f-40577bc5a16d.jpg
ce80ba84-c99d-463d-b557-2f2ee24bd639.jpg
fecee415-8e70-430c-9719-f936485dd6f8.jpg

First cut the carboard as shown in the first picture, then get your popsicle sticks and glue two to each side of the square. then take your 3D printed parts and glue them on accordingly. After that, create the shelf as show out of popsicle sticks (make sure to keep the 3D printed part on, it is off so the shelf can be seen clearer.) Then acquire your first three servos and glue them to the face as shown in the images. Make sure the one used for the blinking is secured on the top. Following attaching the blinking servo, cut out and color two eyebrows and pin them on the face, then glue the servo to the other side and attach accordingly. Use the birds eye view of the back of the face for guidance. Get the two other servos and attach them to each side of the mouth and connect the other two to each side of the mouth on the shelf. Once again use the birds eye view picture for guidance. Finally, insert your Arduino Board into the open cavity, and build your uncut cardboard walls using the same dimension as the face.

Tinkercad Code

Screenshot 2025-12-04 203018.png

For the coding in Tinkercad, use the following file.

Before Setup:

Begin by defining all the servo pins and button pins. Each servo will control a part of the robot's face. So each will need its own pin. Do the same for all the buttons. Then create the variables that will store each button's state when it is read.

Setup:

Configure the four buttons as inputs using INPUT_PULLUP, this ensure that the buttons ill stay HIGH until they are pressed.

Loop:

If button one is LOW, the robot activates the servos for the Happy Face. If not pressed, it will check for button 2 (Sad Face) being pressed. It will then do the same exact three for button 3 (Angry Face) and button 4 (Confused Face).

If nothing is pressed, the robot is in an idle state, keeping the servos in resting position. The loop then repeats continuously.

Downloads

Instructional Videos