Bienvenidos a un nuevo proyecto con Arduino. En este proyecto veremos como podemos crear una pequeña grúa con Arduino, la cual se controlará mediante un joystick como el de la play. Esta grúa se mueve mediante servomotores. Esto lo hace un proyecto escolar perfecto para aprender sobre programación en Arduino.
Tabla de contenidos
Materiales para realizar una Grúa con Arduino
A continuación veremos los diferentes materiales que se van a utilizar para realizar nuestra grúa con Arduino y una breve descripción de los mismos.
Además, para todos aquellos que estén interesados en realizar el proyecto, pueden pinchar en las imágenes y os llevará a una web donde poder adquirir dichos materiales.
Placa de Arduino UNO: Es el cerebro de nuestro proyecto, encargada de controlar todos los procesos del mismo mediante el código que encontrarás más adelante.
Joystick: Mediante la variación de dos potenciómetros se logra conocer la posición exacta (X,Y) en la que nos encontramos y de esta forma usarlo como mando.
Servomotores: Motores de 5v con una reductora, lo que permite un gran manejo de su posición y una gran fuerza para su reducido tamaño.
Protoboard: Tabla con orificios (pines) la cual está conectada internamente y usaremos para realizar nuestras conexiones para el proyecto.
Palos de helado: Usaremos estos palos como estructura para dar forma a nuestra grúa.
Componentes necesarios para realizar esta grúa con Arduino
A continuación os dejamos una lista con todos los componentes empleados en el proyecto de la grúa. De esta formapodeis ir directamente a la web y adquirirlos.
El carrito ES os permitirá comprar los componentes en Amazon España y US os dirigirá a la tienda de amazon de Estados Unidos.
Kit iniciación Arduino ES |
Placa Arduino Uno ES |
Servomotores Arduino ES |
Joystick ES |
Palitos de helado ES |
Protoboard ES |
Cables Macho Hembra ES |
¿Necesitas ayuda con algún proyecto?
- Prototipado y MVPs
- Arduino y ESP32
- Diseño de PCBs
- Diseño de piezas 3D
- Conexión Bluetooth
- Estudio de Viabilidad
- Optimización de costes
- Asesoría Técnica
- Internet de las Cosas
- Gestión de Patentes
Video explicación proyecto grúa con Arduino
Si lo que buscas es ver de una forma mucho más detallada de cómo realizar esta grúa robótica desde el inicio hasta el final y una explicación del código, a continuación, se muestra el video con dicho contenido, mucho mas visual y fácil de comprender. Y recuerda, si te gusta esta clase de contenido, no olvides suscribirte 😉
Esquema de conexiones Arduino para la construcción de una grúa
Una de las partes más importantes a la hora de realizar nuestro montaje de la grúa pasa por conectar correctamente los diferentes elementos. Es fundamental que los servomotores estén correctamente conectados.
Con el fin de evitar errores de montaje o conexiones erróneas, a continuación te dejamos el esquema de conexiones empleado para este proyecto. Con este esquema de conexiones es posible usar el código que puedes encontrar al final del post sin necesidad de hacer ninguna modificación.
Código de Arduino para la programación de la grúa
A continuación se muestra el código de programación desarrollado específicamente para este proyecto. Los pines que puedes encontrar en el código son los mismos que encontrarás en el esquema de conexiones previamente mostrado.
Si quieres una explicación más detallada de las diferentes partes del código empleado para programar esta grúa y de su funcionamiento, te recomiendo que te veas el video que te hemos dejado más arriba.
Si todavía no tienes instalado Arduino y tienes dudas sobre cómo usar o instalar el entorno de programación empleado para Arduino, te dejamos un link de comó descargar el IDE de Arduino
//Canal de YouTube -> RobotUNO //Proyecto: Grua con servomotores #include <Servo.h> //Definicion de los servos Servo servo1; Servo servo2; int eje1=90; int eje2=90; void setup(){ servo1.attach(7); servo2.attach(6); servo1.write(90); servo2.write(90); } void loop(){ //SERVO 1 if (analogRead(0)<200 && eje1<180){ eje1++; servo1.write(eje1); } if (analogRead(0)>700 && eje1>0){ eje1--; servo1.write(eje1); } //SERVO 2 if (analogRead(1)<200 && eje2<180){ eje2++; servo2.write(eje2); } if (analogRead(1)>700 && eje2>0){ eje2--; servo2.write(eje2); } delay(15); }