PROYECTO GRÚA GRUPO 4
DAVID SEDA, HUGO MÉNDEZ, ANASS CHAJRI, DYLAN PAZ
El proyecto que hemos realizado se basa en la construcción de una grúa que sea capaz de sostener objetos de un peso determinado y transportarlos en un rango de desplazamiento. Los objetivos de esta práctica para nosotros han sido lograr hacer un proyecto elaborado y a la vez aprender sobre la parte hardware y Arduino para futuros proyectos en nuestra vida laboral y estudiantil.
El proyecto se resume en una grúa implementada por medio de código Arduino construida con palos de madera y servomotores.
Para su implementación lo vamos a dividir en dos partes. Su implementación en código y su construcción.
En cuanto a su implementación mediante código Arduino hemos empezado definiendo las variables de los servomotores y dos variables para el eje horizontal y el vertical ambas inicializadas a 90. Primero en el setUp vamos a definir a qué pin está conectado cada servomotor . Se le asigna al servomotor 1 el pin 7 y al servomotor 2 el pin 6. Para posteriormente con la función write se le envía un pulso de 90 grados a los servomotores.
En la función loop tenemos 2 condiciones para cada servomotor ambas semejantes. En la primera condición de cada servomotor se comprueba si el valor analógico del pin 0 es menor que 200 y su variable eje es menor que 180 grados, entra en la condición, se incrementa el eje en uno y se produce un pulso con el nuevo valor del eje, es decir que mueve al servomotor a la nueva posición con la función write. La segunda condición es similar, pero comprobando que el valor analógico es mayor que 700 y su eje es mayor que 0. La variable del eje se decrementa y se mueve el servomotor a la nueva posición del eje decrementado. Repetir que ambos servomotores tienen las mismas funciones por lo que las del servomotor 2 serían las ya explicadas.
Por último, hacemos un delay de 15 milisegundos para dar un tiempo de espera para que comience de nuevo la función loop.
En la otra parte de la implementación, es decir en la parte de la construcción física de la grúa hemos comenzado haciendo la estructura de la grúa con 3 tipos de palos de madera. La estructura por los laterales hemos usado palos con agujeros para conectarlos mediante palos finos que quepan entre ellos. Para la base de nuestra grúa usamos otro tipo de palos más grandes sin agujeros. Para llevar este proceso a cabo antes hemos tenido que tomar medidas, con bolígrafo y lápices, de la anchura y altura que nos ha parecido la idónea y gracias a una segueta y un cúter hemos cortado los palos de madera. Después de conectarlos los hemos pegado gracias a una pistola de silicona para que tenga una resistencia adecuada. La estructura final tiene una apariencia de X a las laterales unidas con barras horizontales para darle más consistencia. En la parte de las conexiones de los componentes con arduino empezamos a trabajar con el motor a pasos. Para poder llegar a la precisión que queríamos de giro de nuestra grúa hemos hecho muchas pruebas con el código también. Para ello hemos pegado un palo con agujero a nuestro motor a pasos para hacer pruebas de que gire. Además, hemos tenido que lijar mucho las estructuras para que queden bien las estructuras. Luego de hacer pruebas y hacer nuestra estructura de la base de la grúa hemos acoplado y juntado todas las partes para el resultado final.
En cuanto a la organización de nuestro proyecto lo hemos desarrollado en las aulas grupales de la biblioteca. Cada uno de los miembros ha traído el material necesario para desarrollarla. En cuanto a las tareas desarrolladas se han dividido así.
- David Seda: Corte de material, toma de medidas, construcción de la estructura
- Anass Chajri: Corte de material, toma de medidas, construcción de la estructura
- Hugo Méndez: Corte de material, toma de medidas, construcción de la estructura, implementación de código
- Dylan Paz: Corte de material, toma de medidas, implementación de código, memoria explicativa
Cabe recalcar que todos los miembros del grupo hemos trabajado en conjunto, pero lo hemos dividido en función de las tareas en las que más han intervenido cada miembro.
Dejamos lo que nos ha costado cada material por separado en euros:
- Los palos de madera 6
- Pistola de silicona 17
- Barritas de termofusible 3
- Servomotor 4 cada uno (hemos usado 2).
- Motor paso a paso 4 cada uno (hemos usado 2)
En total casi 30 euros ha costado todo el material necesario para el proyecto.
En cuanto a los problemas encontrados, hemos tenido algunos a la hora de la toma de medidas de los materiales ya que hemos tenido varias pruebas para que quede en la medida que nosotros buscábamos. Otro problema, a la hora de decidir la altura que queríamos para nuestra grúa sobre todo a la hora de pensar y ponerse todos los miembros de acuerdo para ajustar a las ideas del grupo. Otra dificultad nos ha surgido a la hora de cortar los palos de madera con la segueta y el cúter lo hemos solventado, pero no era lo más cómodo ni sencillo. Además, se podría incluir varios problemas a la hora de hacer pruebas fallidas hasta que salga de verdad cómo queríamos que quede nuestro proyecto.
(CÓDIGO FUENTE)
#include <Stepper.h>
int stepsPerRevolution = 2048;
int paso = 32;
Stepper motorGiro(stepsPerRevolution,8,10,9,11);
Stepper motorElevacion(stepsPerRevolution,0,2,1,3);
int topeGiro = 0;
void setup() {
//velocidades diferentes para cada tipo de uso
motorGiro.setSpeed(4);
motorElevacion.setSpeed(6);
}
void loop(){
//lectura del eje X del joystick
int x = analogRead(0);
//lectura del eje y del joystick
int y = analogRead(1);
//SERVO DE GIRO
//limitamos el angulo de giro, si el joystick va hacia la izquierda gira izquierda la grua
if (x < 200 && topeGiro < 12){
motorGiro.step(paso);
topeGiro = topeGiro + 1;
}
//lo mismo hacia la derecha
if (x > 700 && topeGiro > -12){
motorGiro.step(-paso);
topeGiro = topeGiro – 1;
}
//SERVO PARA ELEVAR EL BRAZO
//si el joyxtick sube, sube el brazo
if (y<200){
motorElevacion.step(-paso);
}
//si el joystick baja, el brazo baja
if (y>700){
motorElevacion.step(+paso);
}
delay(15);
}
(CASOS DE USO)
- Accionado de desplazamiento de la grúa en eje horizontal. En este caso de uso interviene nuestros motores a paso, hilo que será el que entre en contacto directo con el objeto a sostener. La estructura hecha por los palos de madera interviene de manera directa también.
- Accionado de desplazamiento de la grúa en eje vertical. En este caso de uso también influyen los anteriores actores. Además, se podrían incluir directamente la protoboard y el programa Arduino.
- Recoger cable. Aquí interviene un nuevo actor que será la bobina y el tubo que hemos usado para recoger el cable.
CONCLUSIONES Y RECOMENDACIONES
En conclusión, este proyecto nos ha aportado grandes conocimientos en cuanto al tema de funcionamiento hardware y en nuestro desarrollo para prácticas futuras. Además, nos ha aportado en cuanto nuestra habilidad de trabajar en equipo y llegar a decisiones en común con compañeros del grupo. Por último, recomendamos este proyecto ya que es muy fácil de entender y es la representación de un transporte de la vida cotidiana que resulta muy familiar a la vista como es una grúa. Aparte de por ser intuitivo recomendamos esta práctica por el dominio y comprensión que se tiene en todo momento de lo que hay que hacer.
IMÁGENES
PRESENTACIÓN:
VÍDEO EXPLICATIVO: