Programar fácil con Arduino

Programar fácil con Arduino, entiende cómo funciona el mundo.

  • Blog
  • ¿Quién soy?
  • Podcast
  • Curso Arduino [GRATIS]
  • Curso Domótica [GRATIS]
  • Acceder
Usted está aquí: Inicio / Blog / Arduino / Robot con Arduino, montando el Pirate 4WD paso a paso

Robot con Arduino, montando el Pirate 4WD paso a paso

Luis del Valle Hernández

Quizás uno de los temas que más llaman la atención dentro del movimiento Maker es la robótica. A mi personalmente, siempre me ha fascinado todos aquellos aparatos que se mueven de forma autónoma. Cuando comencé con Arduino, hará ya unos años, siempre pensaba en robots como la Mars Pathfinder, el Soujouner o el Curiosity. Todos ellos son vehículos autónomos que aterrizaron en el planeta rojo para su exploración. Esto me lleva a pensar en las palabras de uno de los creadores de Arduino, David Cuartielles, quien en una entrevista dijo «hay que entender cómo funciona el mundo para poder cambiarlo«. Crear un robot con Arduino no significa que vayamos a utilizarlo para explorar otros planetas, ni el nuestro propio, pero si que te puede dar una idea de las tecnologías y conceptos que se deben tener en cuenta para enviar un dispositivo de este tipo a más de 200 millones de kilómetros de la Tierra.

Para mi es una experiencia única. Crear un robot con Arduino que sea totalmente autónomo, representa un desafío y por eso, quiero compartirlo contigo. Hoy vamos a empezar a ensamblar el Pirate 4WD Mobile Platform y a instalar el Adafruit Motor Shield. Aunque este vehículo/robot no sea el mejor del mundo y, por supuesto, no sea el más adecuado para enviar a Marte, si que es muy sencillo de montar y nos permitirá que podamos transportar cualquier cosa en su plataforma. Sin duda alguna es el mejor candidato (por su relación calidad/precio) para el proyecto que estoy llevando a cabo, el tiesto inteligente.

Puedes comprarlo por diferentes precios. El que yo tengo, no viene con el Motor Shield y tiene 4 motores de corriente continua. Incluso puedes comprar otro modelo. Lo importante es que te permita transportar cosas encima de él. En este tutorial te explicaré con una serie de vídeos el montaje de este robot con Arduino paso a paso. Por último instalaremos el Adafruit Motor Shield y haremos una prueba para comprobar que todo funciona correctamente.

Indice de contenidos

  • 1 Material necesario para el robot con Arduino
  • 2 Montaje de chasis principal del robot con Arduino
  • 3 Adafruit Motor Shield, preparando la placa
  • 4 Fijando la placa Arduino al robot
  • 5 Conexión Arduino, Adafruit Motor Shield y primeras pruebas
  • 6 Separando la lógica de la potencia, fuentes de alimentación independientes

Material necesario para el robot con Arduino

Lo primero es el material que vamos a utilizar. Todo esto es subjetivo. Puedes utilizar otra placa, otro Motor Shield e incluso otro robot. Lo que te describo aquí es lo que yo utilicé para este proyecto.

  • DFRobot Pirate 4WD Mobile Platform
  • Arduino UNO
  • Adafruit Motor Shield v2.3
  • Juego de conectores hembra para Arduino UNO
  • Caja de pilas para Arduino UNO

Además de todos estos componentes, necesitarás alguna herramienta como un destornillador de estrella, uno plano, alicates, soldador, estaño, pilas, etc…

Montaje de chasis principal del robot con Arduino

El chasis principal no tiene mucho misterio. Solo debes seguir el manual de instrucciones para su ensamblaje, que es el que he utilizado yo para crear este manual. Cuando recibes la caja con el vehículo viene todo desmontado y por piezas.

Pirate 4WD Mobile Platform

El punto más complicado es a la hora de soldar cables. Este robot viene con un interruptor y un Jack por si queremos utilizar pilas recargables o batería. Esto nos permitiría cargar de nuevo las pilas sin tener que abrir el armazón. En este ejemplo yo he optado por lo más sencillo, hacer la conexión para utilizar pilas no recargables. Te dejo los dos esquemas a continuación por si en algún momento quieres cambiar el cableado.

  • Jack no recargable
  • Jack recargable

Es importante soldar los cables al interruptor y al Jack. De este manera nos evitaremos posibles contratiempos como por ejemplo que se suelten los cables. Si esto pasara deberíamos abrir de nuevo la carcasa del robot y colocar los cables en su sitio. Como una imagen vale más que mil palabras, he grabado todo el proceso de ensamblado de la parte principal del chasis. Puedes verlo en el siguiente vídeo.

Adafruit Motor Shield, preparando la placa

El siguiente paso que debemos de dar para crear un robot con Arduino, es preparar el Adafruit Motor Shield. Puedes ver el tutorial completo sobre este shield, donde te explico paso a paso cómo debes montarlo y utilizarlo. Esta placa viene también desmontada bueno, en parte. Lo único que tenemos que hacer es soldar los conectores. En este caso yo he adaquirido unos conectores hembra. Esto me va a permitir además utilizar los pines del Arduino para otras funciones como conectar sensores.

En este proyecto vamos a utilizar cuatro motores de corriente continua. El Adafruit Motor Shield está preparado para controlar hasta 4 motores de este tipo o dos motores paso a paso. Además te permite conectar dos servomotores. Lo más interesante de todo es que podemos alimentar de forma separada la potencia de la lógica, evitando así posibles causas de ruido en nuestro sistema.

Fijando la placa Arduino al robot

Ya tenemos el chasis ensamblado, hemos soldado los conectores del Adafruit Motor Shield, ahora solo nos queda montar las ruedas, tapar el chasis y fija el Arduino al chasis. Todo esto lo puedes ver en el siguiente vídeo.

Hasta aquí sería todo lo relativo a el ensamblaje principal. Ahora, antes de continuar, debemos hacer las pruebas para comprobar que todo funciona correctamente.

Conexión Arduino, Adafruit Motor Shield y primeras pruebas

Para probar los cuatro motores, lo mejor es programar un sketch que nos permita ver su funcionamiento. El siguiente sketch nos va a servir de base para hacer los test.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"
 
// Motor shield objeto
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
 
// Motores
Adafruit_DCMotor *myMotor1 = AFMS.getMotor(1);// Puerto M1
Adafruit_DCMotor *myMotor2 = AFMS.getMotor(2);// Puerto M2
Adafruit_DCMotor *myMotor3 = AFMS.getMotor(3);// Puerto M3
Adafruit_DCMotor *myMotor4 = AFMS.getMotor(4);// Puerto M4
 
// Velocidad
int velocidad = 40; // Velocidad de 0 a 255
 
void setup() {
  // Iniciamos el monitor serie para mostrar el resultado
  Serial.begin(9600);
 
  // Iniciamos el motor shield
  AFMS.begin();
 
  // Velocidad de los cuatro motores
  myMotor1->setSpeed(velocidad);
  myMotor2->setSpeed(velocidad);
  myMotor3->setSpeed(velocidad);
  myMotor4->setSpeed(velocidad);
 
  // Dirección de los cuatro motores
  myMotor1->run(FORWARD);
  myMotor2->run(BACKWARD);
  myMotor3->run(BACKWARD);
  myMotor4->run(FORWARD);
 
  delay(5000);
 
  // Paramos los cuatro motores
  myMotor1->run(RELEASE);
  myMotor2->run(RELEASE);
  myMotor3->run(RELEASE);
  myMotor4->run(RELEASE);
  }
 
  void loop() {
  
}

La alimentación de la placa de Arduino y del Adafruit Motor Shield se puede hacer de dos maneras. Alimentar por separado o alimentar conjuntamente. Para las pruebas es interesante utilizar una única fuente de alimentación a través del USB. Esto lo conseguimos gracias al jumper que viene con el Adafruit Motor Shield.

Pines potencia Adafruit Motor Shield

Por lo tanto, ya tenemos todo preparado para cargar el sketch y hacer las pruebas con los motores. Todo esto en el siguiente vídeo.

Separando la lógica de la potencia, fuentes de alimentación independientes

Ya te he comentado que es conveniente alimentar por separado las dos placas. Si quitamos el jumper de su sitio, ya podremos utilizar fuentes de alimentación independientes. Yo voy a utilizar la caja de pilas que viene con el Pirate 4WD para alimentar el Adafruit Motor Shield. Recuerda que está conectado al interruptor. Para alimentar el Arduino, utilizaré una nueva caja de pilas que situaré dentro del chasis.

En la fase de desarrollo, es interesante utilizar la alimentación que suministra el USB para las dos placas. Así será más sencillo hacer pruebas y no gastaremos las pilas. Así que guarda bien el jumper ya que nos hará falta en las siguientes fases.

Y hasta aquí la primera parte del tiesto inteligente o e-tiesto con Arduino. En el siguiente tutorial veremos como podemos hacer que nuestro robot con Arduino tenga ojos y pueda moverse a través de obstáculos.

integraciones de Home Assistant

Integraciones de Home Assistant

En este tutorial voy a hablar de las integraciones de Home Assistant pero antes déjame contarte la historia de Jack, un norteamericano de bien, de los … [+ info...]

dispositivos inteligentes para el hogar

Tipos de dispositivos inteligentes para el hogar

En este artículo voy a hablar de los dispositivos domóticos o dispositivos inteligentes para el hogar que pueden ser integrados dentro de Home … [+ info...]

osciloscopios

Osciloscopio para proyectos con Arduino

Una imagen vale más que mil palabras. Seguro has escuchado esta frase alguna vez y es probable que en la mayoría de las ocasiones lo que dice sea … [+ info...]

Copyright © 2023 · Programar Fácil · Aviso legal

Utilizamos cookies propios y de terceros para mejorar nuestros servicios y experiencia de usuario. Si continua navegando, consideramos que acepta su uso.Aceptar Política de privacidad y cookies
Política de cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR