Physical Computing — Project 1

Representing Emotions: The Lovestruck Robot

Elizabeth Estefan
6 min readMar 8, 2022

The Assignment

Choose an emotion from a list of three provided by an assigned classmate and create a sculpture or design with LED animation that expresses that emotion. Materials and tools that must be used include paper or sheet material, a Cricut paper cutter or vinyl cutter, and NeoPixel/Adafruit microcontroller coded with a minimum of one button press and three modes: on, emotion animation and off.

The Making Of: Research and Ideation

My classmate gave me an emotion list that included “tranquil,” “overwhelm” and “bashful.” Of the three I was immediately drawn to “bashful” with the idea that feeling bashful can cause physically visible changes in the pigmentation and body language of a person. Now, I was not married to making a sculpture of a person, but I wanted to explore human traits and see how I might translate those characteristics into other forms. And I knew that I wanted to make something fun.

Mind Map

Ming Mapping of the Emotion “Bashful”

I started by mind mapping “bashful,” exploring aesthetics for the LED animation, human physical traits and other emotions that might be connected to bashful. Funny enough, another emotion from my list made the map, “overwhelm.” If there was an association, why not use two emotions rather than just one. This led me to try to connect two of the three emotions with a story that would support that connection, but I will share more on that in a bit.

Ideation

Going back to the concept that this did not need to be human in nature, and wanting to create something fun, I tossed around random objects and animals, and how they might work with the emotions. Ultimately, I landed on a robot. It seemed a better candidate than a rock. And well, we were programming light to express emotion, so why not have a robot with feelings— the irony.

Researching Forms

I started to think about some of the iconic robots that I know and love: R2-D2 and C-3PO from Star Wars, Bender from Futurama, Rosie from The Jetsons, Robot from Lost in Space, and the really loveable Johnny 5 from Short Circuit and WALL-E to name a few. I initially thought I might create a soft-looking robot, curvier like EVE from WALL-E or Baymax from Big Hero 6. But considering the construction would be an unpolished prototype, I decided to go with a more iconic vintage-shaped robot that would be recognizable.

Vintage Robot Google Search Images

The Sketches

Sketches and Measurements for the Lovestruck Robot

This led to a box-shaped robot. But I wanted to add a little whimsy to soften the character and sharp edges of the robot to help portray bashfulness. I thought of adding bugs or butterflies floating around or a heart coming out of the chest. It was starting to come together.

The Story

Thinking on why someone might be bashful and situations that may bring out bashful traits, and with loveable robots on my mind, a story started to form, maybe even a love story—like WALL-E falling for EVE and vice versa.

So the story goes, Robot is lovestruck upon seeing another robot and starts to feel “overwhelmed” with emotion. This triggers a speeding beating heart, beating faster and faster and faster until the emotion spills over, and feelings of “bashfulness” upon Robot’s love being discovered triggers Robot to blush.

Construction

Materials and Tools

I used different kinds and thicknesses of cardstock paper and vellum paper, wire and several types of adhesives from glue stick to double-sided tape. Using an online template maker, I created the 3D shapes for the head, body, hands and feet—the gift box and trapezoid box templates. The shapes were cut with a Cricut paper cutter.

I sketched out measurements prior, but I had to make a few size modifications as I transferred the shapes to the Cricut to fit the letter-size paper I was using. Flaps were extending beyond the page. This leads to a few other kinks…

Issues with construction

I planned for the different sections to make up the robot including adding some cutouts for the heart and cheeks, but I had not clearly planned for the placement of the microcontroller and how the light would travel within the shape. After building each section, I had to measure and hand-cut an opening for the controller at the bottom of the body. And I cut an area between the body and the head to allow light to travel up to fill the main parts of the robot. Better planning would have allowed adding these cutouts for the Cricut.

Let There Be Light

The NeoPixels

I programmed the Adafruit using Python in Mu Editor. My professor provided the code we modified to suit our needs. I decided to use three flip-flop code modes where the pixels alternate colors to express overwhelm. Each flip-flop mode had a faster and faster timing for the alternating lights to allude to Robot getting more and more nervous or “Overwhelmed.” And that leads into the last animation mode for a “Bashful” blushing Robot using a Fade-Up and Fade-Down effect in red. I used a light pink alternating with red for the Flip-Flop animations to keep in a color scheme.

The Code

Since I wanted to include several animations, it was cleaner to use functions for each. In all, there were four functions and 6 modes.

  • Mode 0: Off, RGB 0 for all pixels to remove light/color
  • Mode 1: All pixels on — assigned it the light pink color that starts the next mode
  • Mode 2–4: Flip Flop animations with different intervals, each mode interval faster than the previous
  • Mode 5: Fade-Up and Fade-Down animation for a blushing effect

Adafruit Microcontroller Ligthshow

“WARNING: This video may potentially trigger seizures for people with photosensitive epilepsy. Viewer discretion is advised.”

Issues with code

I wanted to run the program through all the animations with a single button press, so a counter was added leading from one animation mode to the next. And I wanted it to loop back around to the first animation when the last one finished. But there were a few glitches. First, the last animation, mode 5, would cut short, so I added what seemed to be an unusually long counter for a short light show. The second glitch was in turning it off to mode 0. The animation cycle must be on mode 5 to button press off. And lastly, once it has been button pressed off, the microcontroller needs to be reset either by unplugging and replugging in or by connecting it to the Mu Editor by resaving the code. Otherwise, when starting again, the process stops at the first animation and will not progress without pressing the button. These are issues needing further investigation.

So for now…

Enjoy the Light Show

“WARNING: This video may potentially trigger seizures for people with photosensitive epilepsy. Viewer discretion is advised.”

Next Iterations

Why not more robots?!

I had one microcontroller, but I would have liked to have had two robots for the story. Another scenario that I considered included making two Robots, each with emotion. The Lovestruck Robot 1 sees the love interest Robot 2, triggering overwhelm in Robot 1, the fast beating heart (flip-flop lights animation). Robot 2 starts to feel bashful and blushes upon discovering Robot 1's intense love for Robot 2.

Maybe a cast of Robots is in the near future.

--

--

Elizabeth Estefan

Designer. MFA in Interactive Media. BFA in Sculpture.