Get (Un)ready Machine

by Carol Sousa in Circuits > Arduino

1230 Views, 3 Favorites, 0 Comments

Get (Un)ready Machine

Make up front 1.jpg

The Get (Un)ready Machine is a machine that makes getting ready so much easier because it applies your makeup for you, giving you a ‘unique’ look that will definitely have you ‘standing out’. The way it works is quite simple. 2 Servo motors are hooked up to Arduino and respond with the press of a button. They are connected to sponge applicators that move back and forth with the servo to seamlessly apply and blend makeup onto your face. 

No more hours in front of the mirror trying to achieve the perfect blend. With the Get (Un)ready Machine you will get the best makeup look in less than 5 minutes.


Project by: Jordan Subaran, Carolina Sousa, Giovanna Bentes 


This project was conducted as an assignment for the course Physical Computing at the University of Toronto instructed by Maria Yablonina and advised by Yuuko Han.


Supplies

Hardware-photo-1.jpg
materiais-photo-2.jpg

To create this device at home, this is what you will need:


Electronics: 

  • 1x Arduino Board (Arduino Uno)
  • 1x USB Cable 
  • 2x Servomotor
  • 1x 5V Power Supply
  • 1x Push Button 
  • 1x 10k Ohm Resistor
  • Jumper Wires 
  • 1x Breadboard 

Hardware:

  • Cardboard 
  • Aluminum Rod 
  • 2x Sponges
  • Glue/Tape

Tools:

  • Box Cutter 
  • Ruler 
  • Cutting Mat

And obviously some makeup.

Assembly of Base

ARC385_A2B_BoxAssemblyDiagram.png
Top Box.jpg
Sponge Front.jpg

Diagram shows how to cut and assemble the box.

Assembly of Applicators

servo assembly.jpg

Diagram shows how to assemble the applicator sponge onto the motor.

Electronic Assembly

Arduino tinkercad.png
circuito top.jpg


Wire your circuit as seen above.

Connect the push button to Arduino (Pin 2) and ground using the 10K Ohm resistors.

Connect the brown wires of the servos to the negative terminal, the red wires to the positive terminal and the yellow wires to their respective pins on Arduino (Pin 3 and Pin 5).

The Arduino should be connected to:

  1. The breadboard
  2. The two motors
  3. The Power Bank (5V)


Link to Tinkercad circuit: https://www.tinkercad.com/things/gywOBuGfcMB-incredible-krunk-luulia/editel?tenant=circuits

Arduino Codes

//ARC385 - A2b

//Group 6

//Carolina Sousa + Giovanna Bentes + Jordan Subaran

// "The Get (Un)Ready Machine"



//Code modified from: Robojax,"Control Servo motor with a Push Button: 

//Move Servo and Return SPB-1"," YouTube, 14:15, December 15 2019. 


#include <Servo.h>

Servo myservoRight;

Servo myservoLeft;


// define Arduino pins connected to the motor

#define servoPinRight 3

#define servoPinLeft 5


// define Arduino pins connected to the pushbutton

#define pushButtonPin 2 


int angle = 1; // define initial angle

int angleStep = 5; 

const int minAngle = 1;

const int maxAngle = 41;

const int type = 2;

int buttonPushed = 0;



void setup() {

  

 Serial.begin (9600);

 myservoRight.attach(servoPinRight);

 myservoLeft.attach(servoPinLeft);

 pinMode(pushButtonPin, INPUT_PULLUP);

 Serial.println ("Group 6 Servo Button");

 myservoRight.write(angle);

 myservoLeft.write(angle);


}


void loop() {

  

 if (digitalRead(pushButtonPin)==LOW){

  buttonPushed = 1;

 }


  //The servo can't pass the max angle that we define, so when it does reaches the maximum, the angleStep starts going the opposite way until it reaches the minimum and back and forth.

  

 if (buttonPushed){

  angle = angle + angleStep;

  if (angle >= maxAngle){

   angleStep = -angleStep;

   if(type ==1){

    buttonPushed = 0;

   }

  }

  if (angle <= minAngle){

   angleStep = -angleStep;

   if (type ==2){

    buttonPushed =0;

   }   

  }

 }

   

  myservoRight.write(angle);

  myservoLeft.write(angle);

  Serial.print("Moved to;");

  Serial.print (angle);

  Serial.println("degree");

  delay(5);

   

 }




Final Project

Make up front.jpg
Makeup top.jpg
ARC385 Group 6 - Get Unready Machine |The Useless Machine Project

Conclusion/ Reflection

This project ended up being more challenging than we had anticipated but that allowed us to learn a lot throughout the process. In the beginning, we were very excited to take on this project. This was something that none of us had ever done before and the brief of the assignment, ‘making a useless machine’ gave us lots of opportunities. We instantly came up with many different comical ideas and we got a good laugh out of it. We eventually settled on the idea of a machine that applied makeup, but not very well, and operated using servo motors. When we first experimented with using the servo motor we got the results that we wanted in a short period of time, but when we revisited the same code and assembled the system again, it did not work. We figured that the reason for this had something to do with the servo not receiving enough power from the Arduino attached to the computer. That set us back but we found a solution to the issue after hours of research and experimentation and it required us to restructure our code and connect our Arduino to a different power source, a 5V Power Bank. 

Initially, we planned on having three makeup sponges (two coming from the side and one coming from the front) in order to have a full coverage. However, while working on it we realized we should make it look sillier so we got inspired by Car Wash systems and switched the makeup sponges to kitchen sponges. Considering that they are a lot bigger, we only needed to use two (one coming from each side) to achieve the effect we wanted.

Connecting the servo with the button was the most difficult part at first. We could get the servo to work on its own but once we hooked up the button it would stop working. What we noticed through our research is that we simply had some issues in our code and we over-complicated how we connected the button to the breadboard and Arduino. We were also concerned if the servos provided in our kits were strong enough to achieve the outcome that we wanted. We had ordered more powerful MG 996R servos online but could not find a way to power them and we still are not sure how to make them work. We ended up going back to using the servos from the kit and had to make them work despite their limitations. Meaning that we had to get lighter materials for the sticks and adjust our calculations for the Torque. 

In the end, we produced something that we are proud of and it was a great experience going through the process of bringing our idea to life.