Doblador De Camisetas Automático
Grupo 9: Pablo León Molero, Giovanni de María y Miguel Ángel Mateos López
INTRODUCCION
Tras terminar el lavado y secado de nuestra ropa siempre tenemos que doblarla, un proceso tedioso y lento que incluso puede resultar difícil de realizar si la persona tiene dificultades de movilidad.
Con esta idea en mente nuestro proyecto intenta plantear una solución a este problema mediante la automatización del proceso.
OBJETIVOS
Los objetivos iniciales de este proyecto eran la automatización del doblado de la prenda colocada en el prototipo, la comunicación remota con el robot mediante un mando o una aplicación móvil y módulos adicionales para prendas de mayor tamaño así como un módulo para la recogida de la prenda una vez doblada.
MATERIALES UTILIZADOS Y COSTE
CIRCUITO MONTADO
Para el circuito hemos necesitado 4 pilas en vez de 3 porque se desgastaron para un total aproximado de 12 voltios necesarios para que los motores funcionen correctamente. También para controlar los motores con Arduino hemos puesto dos controladores. Para enviar la señal de encender el sistema pusimos un botón.
PASOS SEGUIDOS
Lo primero fue recoger ideas, tuvimos tres opciones, un limpiador de manos automático con agua y jabón, un sensor de aparcamiento y este proyecto, decidimos este ya que era mas visual. Luego pensamos que necesitaríamos tres o cuatro motores, el cuarto seria para poner la ropa en otro sitio automáticamente y un mando para dar la señal. los primeros motores que probamos que venían con el Arduino no nos servían y los segundos que compramos eran un poco débiles pero no teníamos tiempo para cambiarlos. los controladores también nos dieron problemas, así que tuvimos que cambiarlos por otros que se adaptaban mejor a lo que buscábamos. Luego medimos una camiseta para saber que medidas debería de tener el proyecto, aunque dimos margen y al final se quedo un poco grande, para el futuro se podría hacer más compacto. También hicimos unas piezas con una impresora 3d para conectar el motor y la pieza que dobla la ropa.
Cuando teníamos todo el material construimos dos compartimentos con una pistola de pegamento y plástico donde irían las piezas que doblan las mangas y debajo, la circuitería necesaria con el motor para doblar la ropa a la mitad. Le dimos una altura de 3 cm, el mínimo indispensable con una holgura de 4 mm. Los motores, el Arduino y los controladores para los motores fueron anclados con tornillos, las pilas y la placa fueron pegadas con adhesivo. Para los motores necesitamos una pieza de madera para darle altura.
PROBLEMAS Y SOLUCIONES
Rotura del Controller IR ELEGOO: Al hacer pruebas se nos rompió el detector con mando que venia en la caja por lo que, al no tener mas tiempo tuvimos que usar un botón para activar el circuito.
Velocidad de los motores: los primeros motores que probamos tenían fuerza para doblar pero iban muy lento y no doblaban la ropa bien
Peso de los materiales : al principio las piezas que doblan la ropa eran mas grandes y con materiales mas pesados, además de tener la idea de doblar todo tipo de ropa, pero los motores no tenían fuerza suficiente por lo que tuvimos que modificar los requisitos y las piezas
Interconectado de los cables: al ser un circuito de gran tamaño tuvimos que comprar cables mas largos para el motor del otro lado del arduino
MEJORAS PARA EL FUTURO
Debido a los imprevistos que hemos tenido, para mejorar el proyecto lo primero seria implementar otra vez el mano a distancia y usar motores con mas fuerza para doblar todo tipo de ropa.
También se puede implementar una fucionalidad para recoger la ropa ya doblada y poder doblar ropa seguido
VIDEO
CODIGO
// pins for the motors
#define motor1_1 2
#define motor1_2 3
#define motor2_1 4
#define motor2_2 5
#define motor3_1 6
#define motor3_2 7
// pin for the boton
#define boton 9
// motor's movement's time
const long tiempo = 500;
const long tiempo3 = 1300;
// value read from the boton
int val = 0;
void setup() {
// initialize the motors' pins as outputs:
pinMode(motor1_1,OUTPUT);
pinMode(motor1_2,OUTPUT);
pinMode(motor2_1,OUTPUT);
pinMode(motor2_2,OUTPUT);
pinMode(motor3_1,OUTPUT);
pinMode(motor3_2,OUTPUT);
// initialize the button as input
pinMode(boton, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, LOW);
digitalWrite(motor2_1, LOW);
digitalWrite(motor2_2, LOW);
digitalWrite(motor3_1, LOW);
digitalWrite(motor3_2, LOW);
val = digitalRead(boton);
if(val == 1){
move("motor1_1", "motor1_2");
move("motor2_1", "motor2_2");
move("motor3_1", "motor3_2");
}
}
// move one motor up and down
void move(String motor_1, String motor_2){
if(motor_1 == "motor1_1" && motor_2 == "motor1_2"){
digitalWrite(motor1_1, HIGH);
delay(tiempo);
digitalWrite(motor1_1, LOW);
digitalWrite(motor1_2, HIGH);
delay(tiempo);
digitalWrite(motor1_2, LOW);
}
if(motor_1 == "motor2_1" && motor_2 == "motor2_2"){
digitalWrite(motor2_2, HIGH);
delay(tiempo);
digitalWrite(motor2_2, LOW);
digitalWrite(motor2_1, HIGH);
delay(tiempo);
digitalWrite(motor2_1, LOW);
}
if(motor_1 == "motor3_1" && motor_2 == "motor3_2"){
digitalWrite(motor3_1, HIGH);
delay(tiempo3);
digitalWrite(motor3_1, LOW);
digitalWrite(motor3_2, HIGH);
delay(tiempo);
digitalWrite(motor3_2, LOW);
}
}