Home » Arduino » D-bot

Login with your Social Account

D-bot

  •  
  •  
  •  
  •  
  •  
  •  

Este es D-bot, un robot diferencial basado en Arduino controlado por vía Bluetooth a través de una aplicación móvil desarrollado mediante MIT App Inventor 2. D-bot es capaz de realizar tres funciones distintas haciendo uso de los sensores de ultrasonidos delantero y trasero de los que dispone. Estas tres funciones son: un control manual a través de nuestra aplicación, otra para evitar obstáculos y una tercera función más interactiva con el robot que consistirá en molestarlo.

Para la creación de este robot móvil se han necesitado los siguientes materiales:

  • 1 x Arduino Nano v3
  • 1 x Arduino Nano I/O Shield
  • 2 x sensor de ultrasonidos HC-SR04
  • 2 x servo rotación continua FS90R
  • 1 x módulo Bluetooth SPP-C
  • 1 x altavoz pasivo (buzzer)
  • 2 x rueda servo FS90R
  • 1 x rueda loca
  • 1 x lámina de madera contrachapada 150x150mm²
  • 20 x cable dupont hembra-hembra

Una vez disponemos de todo el material necesario podemos proceder a diseñar a D-bot.

Sobre la placa de madera se ha diseñado la estructura de nuestro robot que cargará con todos los elementos electrónicos. Este diseño se ha realizado utilizando la herramienta Q-Cad, muy sencilla de manejar para proyectos simples. El resultado es este:

Ahora que tenemos la estructura física y los elementos electrónicos, podemos distribuir estos elementos para hacernos una idea de la forma que va a tener nuestro robot y para analizar como realizar el esquema electrónico.

A parte del diseño de la estructura, también hay que dibujar el esquema electrónico con el que nos guiaremos para montar nuestros componentes. Este esquema lo hemos realizado mediante Fritzing, otra herramienta muy fácil de manejar para realizar este tipo de trabajos. En nuestro caso queda de la siguiente forma:

Como se puede ver en el esquema, hemos conectado el sensor de ultrasonidos delantero a los pines 4 y 5, el trasero a los pines 9 y 10, el servo derecho al pin 2, mientras que el izquierdo al 12, el buzzer lo hemos configurado para que funciones en el pin 11 y, por último, el módulo Bluetooth lo hemos conectado a sus pines correspondientes en el Arduino Nano I/O Shield. Todo el circuito electrónico se alimentará con una pila de 9V.

Ahora que tenemos tanto la estructura física como el esquema electrónico, podemos comenzar el montaje de nuestro robot. El resultado final es el siguiente:

                    

A continuación, necesitamos desarrollar la aplicación móvil que nos va a permitir tener el control sobre D-bot. Como hemos mencionado anteriormente, la realizaremos mediante MIT App Inventor 2, un entorno de desarrollo de software creado por Google Labs para la elaboración de aplicaciones destinadas al sistema operativo Android. La programación con esta herramienta se basa es elaborar una especia de “puzle”, por lo que resulta bastante intuitivo y fácil de aprender y manejar, además de que tiene la capacidad de crear una gran variedad de tipos de aplicaciones.

Con respecto a nuestro robot, continuaremos desarrollando la interfaz de nuestra aplicación, donde podremos elegir cualquiera de las tres funciones de las que va a disponer D-bot: Control manualEvita obstáculos o No molestar.

Al abrir nuestra aplicación, y antes de seleccionar cualquier función, se nos abrirá una ventana inicial que solamente dispone de un botón que nos llevará a otra ventana donde ya podremos elegir la función que deseamos ejecutar. Estas son las ventanas respectivamente:

 

Control manual

El control manual se basa en manejar a nuestro robot usando nuestro teléfono móvil. Para hacer un manejo bastante intuitivo, hemos aprovechado el propio acelerómetro de nuestro dispositivo, de forma que depende de como lo orientemos, D-bot se desplazará de diferente forma: si lo inclinamos hacia delante se moverá hacia delante, si lo inclinamos hacia la derecha girará hacia la derecha, si lo dejamos horizontal se quedará quieto, etc.

La interfaz diseñada dispone de un primer botón para conectarnos al dispositivo Bluetooth de Arduino. A partir de entonces podremos o iniciar el movimiento al presionar Iniciar o desconectarnos del dispositivo del que nos hemos conectado.

 

Evita obstáculos

Esta es la segunda función y, como su nombre indica, consiste en no chocarse contra ningún elemento que se encuentre en nuestro entorno. En este modo el robot se moverá describiendo una curva amplia y al detectar con el sensor ultrasonido delantero un objeto a menos de 20cm, se parará, emitirá un sonido y cambiará su trayectoria. El diseño para este modo dispone de casi los mismo elementos que el del anterior: un botón para conectarnos al dispositivo Bluetooth, otro para desconectarnos, uno para iniciar el modo y otro para finalizarlo.

 

No molestar

La tercera función se basa en una especia de “juego” con nuestro robot. D-bot se mantendrá quieto hasta que alguien se le acerque por delante o por detrás (activando uno de los dos sensores de ultrasonidos), haciendo que se aleje en la otra dirección. Al cabo de repetir este proceso varias veces, D-bot se cabreará por molestarlo tanto y emitirá una ráfaga de sonidos y se pondrá a dar vueltas sobre sí mismo durante 5 segundos. La interfaz de este modo es igual que la del modo anterior.

Cabe mencionar que como tanto esta última función como la anterior dependen de las lecturas de los sensores de ultrasonidos, pero éstas a veces pueden ser erróneas (especialmente al enfocar a esquinas), por lo que nuestro robot puede realizar movimientos extraños cuando no debería.

 

El último paso es desarrollar el código que subiremos al Arduino Nano v3  para que nuestro robot se pueda manejar con nuestra aplicación. Este código consiste principalmente en incluir las librerías necesarias para hacer funcionar todos los elementos, en configurar dichos elementos en sus pines correspondientes, en desarrollar las funciones para hacer funcionar correctamente cada modo del robot y en seleccionar un caso distinto dependiendo del botón que se haya pulsado en nuestra aplicación móvil, con lo que se ejecutará un modo u otro.

Una vez tenemos el código implementado sin ningún error, ya podemos disfrutar de nuestro D-bot.

 

Conclusiones

Además de inicializarme en la electrónica de Arduino y de entender cómo funciona, desarrollar un proyecto de este tipo, que engloba desde el diseño estructural del robot, hasta la programación final, pasando por la selección de los materiales según tus necesidades e incluyendo la elaboración de una aplicación móvil para poder manejarlo a voluntad, ha sido una gran oportunidad para ver como soy capaz de afrontar la creación de un robot móvil desde cero y de como solucionar los problemas que van surgiendo conforme se va avanzando en su desarrollo. También tengo que añadir  que realizar este proyecto me ha supuesto una gran satisfacción personal por lo que ya he mencionado anteriormente, por crear un robot móvil interactivo por mi propia cuenta.

 

Autor:

Uroz Franco, Daniel

A %d blogueros les gusta esto: