Emotion Sensing Hello Kitty

by bdacosta2 in Circuits > Arduino

66 Views, 0 Favorites, 0 Comments

Emotion Sensing Hello Kitty

s-l1600.jpg

We took inspiration from the hit reversible octopus plushie and designed a reversible hello kitty that responds to changes in facial emotes.

Supplies

Screenshot 2024-05-08 at 9.10.10 PM.png
Screenshot 2024-05-08 at 9.10.42 PM.png
Screenshot 2024-05-08 at 9.11.19 PM.png
Screenshot 2024-05-08 at 9.12.11 PM.png
Screenshot 2024-05-08 at 9.13.07 PM.png

Configure Emotion Sensing Program

IMG_8370.PNG

Use this Emotion Sensing Program: https://github.com/atulapra/Emotion-detection

  • Change program as needed to run properly on your device

Connect Emotion Sensing Program to Serial Port

Image 5-2-24 at 5.56 PM.jpg
Image 5-2-24 at 6.04 PM.jpg
Image 5-2-24 at 6.14 PM.jpg
Attached file has the updated code for this part for reference

Establish connection to Serial port

  • Add "import serial.tools.list_ports" to establish connection between computer and Arduino Nano

Write to data to Serial port

  • Convert the program emotion findings into Serial data
  • 1 is Happy, any other emotion is 0
  • In the video capture loop, add a 1 second delay, "cv2.waitKey(1000)", in each iteration so that the Arduino Nano's serial port has time to process the serial data
  • Use "serialInst.write()" to write data to Serial port


Test Connection between Serial port and Arduino Nano Board

  • Use Arduino Nano's built in LED to test whether connection works
  • If "Happy" is sensed then LED is on
  • Else LED is off
Code for testing this part is also attached for reference

Downloads

Set Up Linear Actuator

Image 5-2-24 at 6.18 PM.jpg
Image 5-2-24 at 6.20 PM.jpg
IMG_7529.jpg
IMG_7530.jpg
IMG_7531.jpg

Hardware

  • Attach Linear actuator wires to motor driver board
  • Attach motor driver board to Nano and DC power supply

Software

  1. Follow attached picture to set up the pins to control the motor
  2. Follow other attached picture to write motor control helper functions
  3. Use helper functions inside main loop to run as planned

Combine Linear Actuator Controls With Emotion Sensing Program

截屏 2024-05-02 下午6.48.26.jpeg
Image 5-2-24 at 6.28 PM (1).jpg
Image 5-2-24 at 6.28 PM.jpg

First, initialize all the variables used inside the loop.

Our approach consists of two states, happy and not happy. In order to account for the time it takes to switch between states, we've attached a state transition diagram depicting how we stabilized and controlled the motor movements.

3D Printing the Stand

Screenshot 2024-05-08 at 8.46.27 PM.png

Buy or make reversible plushie. Add/Remove stuffing as needed for mechanism to move correctly.

Make a model of the stand in Autodesk Fusion360. The important part is having correct measurements so the the linear actuator fits nicely into the stand and has enough room to pull the plushie all the way through to reverse as seen in the attached picture.


Putting It All Together

IMG_7523.jpg
IMG_7524.jpg
IMG_7525.jpg
IMG_7528.jpg

Attach top of unhappy side of plushie to the linear actuator head with fishing line. Then attach fishing line to holes in top ring and bottom of unhappy side as shown in the picture.



All Done!

IMG_7534.jpg

You now have a fully functioning Emotion Sensing Plushie!

Downloads