ENGR103 Final Project

Arduino

Cyrus the robot is designed to exhibit a range of 4 emotions based on sensor inputs. Equipped with the VL530LX distance sensor, Cyrus responds very dramatically to its surroundings by changing the way it moves and its LED colors. He can express four emotions: happy, sad, angry, and afraid. Each emotion triggers a different set of actions and visual indicators, making Cyrus appear almost life-like. When he is happy, his eyes glow yellow, moves forward at a moderate speed, and also occasionally spins in place :D! He maintains this state when there are no obstacles within close range. If an object is detected within 200 mm, Cyrus becomes sad, turning his "eyes" blue and slowing down his movements. As the object gets closer, within 100 mm, Cyrus gets angry, his eyes turning red and menacing, charging forward rapidly before reversing. When an object is extremely close, <50 mm, Cyrus gets scared :(, it's eyes turn green and quickly reverses to avoid the obstacle. His ability to change emotions is controlled through a combination of motor movements and LED color changes, programmed using the FastLED library. The motors are managed via PWM signals, allowing precise control over speed and direction. He takes a little while to sense objects, showing how clueless he is sometimes and is also bipolar. The images below show him looking menacing, goofy because he fell over on his back and is angry about it, and scared as he runs away from me.

2 Lifts 

Artifacts

Name Description
Cyrus' code This is the .ino file with Cyrus' code   Download
Emotion challenge Cyrus representing 4 emotions   Link
Feedback