RobotBase con Arduino (BT)

portada

RobotBase con Arduino (BT) es un completo kit para construir una sencilla plataforma motriz, basada en Arduino UNO, con motores DC, driver de motores de alta eficiencia, conversor DC/DC para la alimentación y módulo de comunicaciones Bluetooth. Este montaje lo podrás controlar, vía Bluetooth, con una aplicación para tu smartphone o tablet Android.

Antes de empezar

Montar RobotBase con Arduino (BT) es una enriquecedora experiencia educativa que te permitirá entrar en el mundo de la robótica de la mano de la electrónica, mecánica y programación.

Importante: para montar este kit se requiere de unos conocimientos técnicos mínimos y de habilidades relacionadas con el manejo de ciertas herramientas. Si no estas seguro de poder hacerlo, pide ayuda. El correcto funcionamiento del robot depende de que seamos capaces de realizar todas estas labores con precisión. Este kit no es un juguete, es un material educativo que no está indicado para menores de 10 años y aún así, siempre bajo la supervisión de un adulto.

Herramientas.
Para realizar el montaje de este robot vamos a necesitar las siguientes herramientas:

alicate_corte alicate_plano pelacables destornillador_ph1 destornillador_plano soldador estaño

Contenido del kit RobotBase con Arduino (BT)

Portada Gua de montaje

El kit del RobotBase con Arduino (BT) consta de los siguientes elementos:

  • Chasis de metacrilato transparente cortado por láser
  • Placa controladora Arduino UNO Rev.3 (original)
  • Motores y ruedas
  • Cables de conexiones
  • Conversor DC/DC
  • Bluetooth HC-05
  • Micro Shield controladora de motores DRV8835 de Pololu
  • Interruptor
  • Punteras
  • Clavija de alimentación para la placa Arduino UNO
  • Elementos mecánicos
  • Tuercas y tornillos de M3
  • Separadores hexagonales
  • Rueda loca

Montaje del RobotBase con Arduino (BT)

Para comenzar con el ensamblado del robot vamos a soldar los cables que alimentan los motores y también los pines y clemas de la micro shield DRV8835 que van a hacer posible la conexión de la misma a la placa Arduino UNO, los motores y la entrada de alimentación.

Para conectar los motores necesitamos cuatro trozos de cable de unos 15cm. de longitud, a los que pelaremos 5mm. en cada extremo.

Guía de montaje

Los cables del motor los soldamos en los terminales de los mismos y una vez hecho esto, pasamos el cable por debajo de la abrazadera de plástico de sujeción del propio motor. Hay que repetir esta operación en ambos motores.

En la micro shield soldamos las tiras de pines y las clemas de conexión tal y como se muestra en la siguiente imagen.

Guía de montaje

A continuación vamos a retirar los plásticos de protección que traen todas las piezas de la estructura. Esto hay que hacerlo tanto en el chasis como en las cuatro piezas que sirven como soporte de los motores.

Ahora vamos a colocar los motores en la parte inferior del chasis, de forma similar a como se muestra en la siguiente foto. Para sujetar los motores usaremos los soportes de plástico y cuatro tornillos de M3x25 con sus respectivas tuercas.

Guía de montaje

Situados los motores podemos atornillar el porta-pilas en la parte superior del chasis. Para ello usaremos dos tornillos de M3x10 con sus tuercas que fijaremos en dos de las ranuras horizontales, quedando las cabezas de los tornillos en el interior del porta-pilas y las tuercas en la parte inferior del chasis. Los tornillos se colocarán en los agujeros exteriores del porta-pilas y en las ranuras horizontales del chasis:

Guía de montaje

También en la parte superior del chasis, colocaremos el interruptor en el agujero rectangular que hay entre los dos motores y justo delante del porta-pilas. Tendremos que ejercer un poco de presión para que quede bien encajado.

Guía de montaje

Después del interruptor llega el turno de colocar la placa Arduino UNO con tres separadores. En primer lugar se fijan los separadores al chasis con tres tornillos de M3x10.

Guía de montaje

Una vez fijados los separadores se coloca la placa Arduino UNO encima de ellos y se atornillan otros tres tornillos de M3x10, tal y como se muestra en la siguiente foto.

Guía de montaje

Antes de continuar veamos una imagen de la colocación de todos los componentes posicionados hasta el momento vistos desde la parte inferior del chasis del robot:

Guía de montaje

Llegados a este punto comenzaremos con el cableado del robot. A continuación se muestra el esquema general de las conexiones que vamos a realizar.

Guía de montaje

El conversor DC/DC será el encargado de proporcionar una tensión estable de 7.5V con independencia del estado de las pilas. Lo colocaremos a la derecha de la placa Arduino UNO, tal y como se muestra en la siguiente imagen. Toma esta referencia para calcular la longitud de los cables.

Guía de montaje

La micro shield de control de motores se conecta justo encima de la placa Arduino Uno.

Importante: dado que alimentaremos directamente la micro shield de control de motores, no hay que conectar el puente (VOUT) en esta placa.

Una vez soldados los cables siguiendo el esquema mostrado anteriormente, fijaremos de manera permanente el conversor DC/DC utilizando cinta de doble cara. El resultado obtenido será similar al que se muestra en la siguiente imagen.

Guía de montaje

Tal y como hemos comentado anteriormente, el conversor DC/DC nos proporcionará los 7,5V para alimentar la placa Arduino a partir de la tensión de la batería (6V nominales). De esta manera nos aseguramos que la placa Arduino esté alimentada de forma óptima con independencia del estado de carga de las baterías o de los picos de consumo de los motores.

No podemos alimentar directamente la placa Arduino UNO con las baterías ya que 6V es una tensión insuficiente para alimentar una placa Arduino UNO. Ten en cuenta que aunque la placa Arduino UNO funciona internamente con 5V, después del conector de alimentación hay un diodo de protección y después un regulador serie. Entre ambos la caída de tensión puede superar los 2V, luego hay que alimentar con una tensión un poco superior a 7V para asegurarnos un correcto funcionamiento.

Importante: Antes de conectar la alimentación a la placa Arduino UNO, ajustaremos la salida del conversor DC/DC con la ayuda de un destornillador plano y un voltímetro. Para ello colocaremos las cuatro pilas de tipo AA, pondremos el interruptor en la posición de encendido y ajustaremos el potenciómetro (de color azul) en el conversor DC/DC hasta conseguir una lectura de 7,5V en el voltímetro.

Guía de montaje

En el siguiente paso actuaremos de forma similar a como hicimos con el conversor DC/DC, pero en este caso con el Bluetooth:

  • Colocamos el módulo Bluetooth a la izquierda de la placa Arduino UNO para determinar la longitud de los cables.
  • Conectamos los cables macho hembra entre el módulo Bluetooth y las señales de Rx y Tx de la placa Arduino UNO, tal y como se indica en el esquema.
  • Conectamos los cables de alimentación al módulo Bluetooth y quitamos los conectores del otro extremo para poder soldarlos a la entrada del conversor DC/DC.
Guía de montaje

¡Ya has terminado el montaje eléctrico del Robot! Ahora solo resta ensamblar las ruedas en los motores y colocar la rueda loca utilizando cuatro tornillos de M3x8 con sus tuercas:

Guía de montaje

Podemos mejorar el aspecto del robot, usando algún tipo de abrazadera de nylon para agrupar y recoger los cables.

Guía de montaje

Este será el aspecto del robot una vez terminado el montaje.

Portada Gua de montaje

Arduino Control Car

arduino_control_car

Arduino Control Car es una aplicación para Android que nos permite manejar a distancia dispositivos móviles basados en Arduino mediante una conexión Bluetooth. Este programa nos presenta un interface de usuario con seis botones que envían los siguientes códigos cada vez que se pulsan:

  • Flecha Arriba = Carácter ‘a’
  • Flecha Izquierda = Carácter ‘b’
  • Botón Cuadrado = Carácter ‘c’
  • Flecha Derecha = Carácter ‘d’
  • Flecha Abajo = Carácter ‘e’
  • Botón ON = Carácter ‘f’
  • Botón OFF = Carácter ‘g’
Arduino_Control_Car_03

Botón Bluetooth = Es para seleccionar el Modulo Bluetooth a que se va a conectar (El modulo bluetooth debe estar previamente sincronizado con su teléfono Android

qrcode_arduino_control_car

Descarga la aplicación Arduino Control Car escaneando este QR-Code con tu dispositivo Android.

Ejemplo de programa de control para la placa Arduino UNO

A continuación se muestra un ejemplo de programa que procesa los comandos enviados por la aplicación Arduino Control Car mediante una conexión Bluetooth.

Importante: para descargar el programa a la placa Arduino UNO quita los dos cables de RX y TX del módulo bluetooth y conecta un cable USB entre la placa Arduino UNO y el ordenador.

/* Este ejemplo permite controlar el robot de forma remota con un smartphone o una tablet con Android utilizando la aplicación "Arduino Control Car" https://play.google.com/store/apps/details? id=appinventor.ai_el_profe_garcia.Arduino_Control_Car&hl=es En función del movimiento que se seleccione en la aplicación, se entra en un caso de la máquina de estados, lo que lleva a diferentes movimientos del robot. 30 de diciembre de 2015 http://www.complubot.com */ #define M1_DIR 7 //Pin de Arduino que controla la dirección del motor (DIGITAL) #define M1_PWM 9 //Pin de Arduino que controla la velocidad (PWM) #define M2_DIR 8 //Pin de Arduino que controla la dirección del motor (DIGITAL) #define M2_PWM 10 //Pin de Arduino que controla la velocidad (PWM) char estado = 'c'; // Estado con el que se inicia el robot: parado char anterior; // Variable para coservar el estado anterior de la máquina de estados char memo; // Variable para memorizar el último estado diferente void setup() { //Declaración como salida de todos los pines que se //necesitan para controlar los motores del robot pinMode(M1_DIR, OUTPUT); pinMode(M1_PWM, OUTPUT); pinMode(M2_DIR, OUTPUT); pinMode(M2_PWM, OUTPUT); Serial.begin(9600); // Inicia el puerto serial para comunicación con el Bluetooth } void loop() { if (Serial.available() > 0) // lee el bluetooth y almacena el carácter en "estado" { // Almacenamiento del último estado utilizado // Adquisición del nuevo estado // Memorización del último estado diferente utilizado anterior = estado; estado = Serial.read(); if (estado != anterior) { memo = anterior; } } switch (estado) { case 'a': // Botón desplazar al Frente // Los dos motores avanzan hacia delante digitalWrite(M1_DIR, LOW); analogWrite(M1_PWM, 255); digitalWrite(M2_DIR, HIGH); analogWrite(M2_PWM, 255); break; case 'b': // Botón IZQ // Realiza giro digitalWrite(M1_DIR, LOW); //Motor uno avanza analogWrite(M1_PWM, 255); digitalWrite(M2_DIR, LOW); //Motor dos retrocede analogWrite(M2_PWM, 255); delay (100); estado = memo; break; case 'c': // Botón Parar // Los dos motores se detienen digitalWrite(M1_DIR, LOW); analogWrite(M1_PWM, 0); digitalWrite(M2_DIR, LOW); analogWrite(M2_PWM, 0); break; case 'd': // Botón DCHA // Realiza giro digitalWrite(M1_DIR, HIGH); //Motor uno retrocede analogWrite(M1_PWM, 255); digitalWrite(M2_DIR, HIGH); //Motor dos avanza analogWrite(M2_PWM, 255); delay (100); estado = memo; break; case 'e': // Botón Reversa //Los dos motores retroceden digitalWrite(M1_DIR, HIGH); analogWrite(M1_PWM, 255); digitalWrite(M2_DIR, LOW); analogWrite(M2_PWM, 255); break; case 'g': //A la espera, no hace nada break; } }
Share Button
Follow us on Facebook Follow us on Twitter
  • SUSCRIBETE

    Suscríbete a nuestro boletín informativo para estar puntualmente informado de nuestros cursos, talleres, eventos y novedades.

A ver si adivinas que utilizamos en este sitio? Aquí tienes el ladrillo en cuestión por si quieres leerlo