Inicio » Aula » ROBOT: LA PERLA AZUL

ROBOT: LA PERLA AZUL

En esta entrada se mostrará el proceso que se ha seguido para realizar el montaje de «La perla azul».

 

COMPONENTES NECESARIOS:

  • Arduino uno.
  • 4 Motores y ruedas.
  • Micro servo SG90.
  • 2 sensores TCRT500.
  • Ultrasonidos HC-SR04.
  • Bluetooth.
  • 2 baterías externas o una con capacidad suficiente.
  • Cables macho-hembra.
  • 2 Drivers de motor DRV8833.
  • Matriz LED 8×8 MAX7219.
  • Escudo Arduino uno.
  • Tornillos y separadores.

Además, también se necesitará de disponer de soldadores de estaño, destornilladores y pistolas de silicona para poder realizar el montaje.

MONTAJE:

En primer lugar, es necesario hacer unos planos con cualquier programa, por ejemplo AutoCAD. Es conveniente tener todas las medidas exactas de los materiales que vamos a emplear. Para ello nos podemos ayudar de los datasheet de los componentes o si ya los tenemos físicamente se pueden medir con un calibre.

Para poder utilizar la máquina de corte láser simplemente tenemos que convertir el archivo del programa que hemos usado en un archivo con formato DXF.

Una vez tengamos el corte láser lo mejor es pintarlo para que quede mucho más bonito.

Como podemos ver, la diferencia es enorme. Para pintarlo se ha utilizado un spray de color azul claro.

 

Una vez las piezas de madera cortadas y pintadas es el momento de empezar a ensamblar las piezas.  Para piezas más especificas como el sensor de ultrasonidos, el módulo bluetooth y la matriz de leds, se han diseñado piezas específicas para su montaje en el robot. En cuanto a las piezas como el servomotor y los sensores TCRT500 se han realizado cortes específicos en su correspondiente posición. Todas estas piezas han sido fijadas mediante tornillería o con silicona.

El montaje de las ruedas es el más delicado, pues estas ruedas han de estar lo más alineadas posible y bien fijadas. Para alinearlas se puede optar por realizar marcas y el hueco de las ruedas en el plano. Para conseguir que las ruedas queden fijas se puede emplear pegamento como el loctite (este permite que la rueda quede muy fija y alineada con la base) o mediante tornillería.

NOTA: Recomiendo comprobar el correcto funcionamiento de cada uno de los componentes antes de empezar el montaje.

PROGRAMACIÓN:

Para programar de forma correcta es necesario conocer el funcionamiento de cada uno de los componentes que vas a utilizar, cuando compruebes su correcto funcionamiento, fíjate bien como puedes utilizarlo y conectarlo.

Recomiendo que crees funciones para las tareas más repetitivas, como el control de las ruedas o la medición de distancias.

Para el control de la velocidad de las ruedas, el driver necesita de dos señales PWM por rueda para el control de sentido y de velocidad. Esto implica la necesidad de 8 de estos pines solo para las ruedas, pero el microcontrolador Arduino UNO solo dispone de 6 de ellos. Para solucionar esto se ha optado por conectar un único pin PWM por rueda y el otro digital, mediante software se establece que para ir hacia delante se pone el pin PWM a nivel alto y el digital a nivel bajo, de esta forma a mayor voltaje en el pin analógico mayor velocidad. En cambio, para ir hacia atrás se pone el pin digital a nivel alto, esto cambia el sentido de la corriente, pero ahora, a mayor voltaje en el pin analógico menor velocidad, porque hay menor diferencia de voltaje, la lógica es inversa, en funciónse quiera un sentido de giro u otro, pero se ha conseguido reducir la necesidad de 8 pines PWM a solamente 4.

Para este robot se han diseñado tres programas distintos:

 

SIGUELÍNEAS:

Para esta aplicación se ha optado por un regulador proporcional, los sensores TCRT500 colocados en la parte delantera del vehículo son capaces de diferenciar una superficie clara de una oscura (recomiendo el correcto ajuste de la sensibilidad del sensor mediante el potenciómetro incorporado).

El control de las ruedas es muy simple, simplemente cuando el sensor izquierdo detecte la línea indica que existe una curva hacia la izquierda, por lo que la acción ha de ser girar hacia la izquierda. La misma lógica se aplica para cuando detecta el sensor derecho.

En caso de que detecten ambos sensores, al mismo tiempo indica que ha llegado al final del recorrido y ha de detenerse.

 

EVITA OBSTÁCULOS:

En esta aplicación, el vehículo está constantemente midiendo la distancia delante de él, en el caso de que detecte un obstáculo el robot comprobara (con la ayuda del servomotor) la distancia que tiene en sus laterales, creando diversas posibilidades:

Si la distancia es suficiente para el giro, el robot gira hacia el lado cuya distancia sea mayor. En caso de que la distancia sea suficiente para girar, pero muy pequeña, el giro será de 90 grados.

Si la distancia no es suficiente para el giro, el robot se mueve hacia atrás durante un tiempo y repite la rutina para determinar hacia que lado girar.

 

CONTROL MANUAL:

Para este control es necesario desarrollar una aplicación. En este caso la comunicación se realiza mediante tecnología bluetooth.

La señal que se recibe es un número de 8 bits codificado, cada número o rango de ellos indica una acción distinta, simplemente hay que ejecutar la acción recibida desde la aplicación.

 

APLICACIÓN:

En la aplicación existen diferentes funciones.

En primer lugar, podemos ver el botón de conexión del bluetooth, en la parte central podemos ver el estado de conexión con el robot y a la izquierda un seleccionador de modo.

A continuación podemos observar un slider que controla la posición del servomotor (con el sensor de ultrasonidos unido a él), para evitar mover el servomotor por error se ha colocado un switch que activa y desactiva el slider. En la izquierda podemos ver el botón de medir distancia, este envía la orden al robot que mide la distancia con el sensor de ultrasonidos y la devuelve a la aplicación y la escribe en la etiqueta DIST.

Finalmente, en la parte central podemos ver las flechas de control de movimiento del robot.

Todas las funcionalidades del control manual desaparecen en los otros modos.

CONCLUSIÓN:

Para diseñar tu propio robot móvil son muy importantes las fases de diseño previas al montaje, ten claro que quieres hacer y como lo vas a hacer. Haz unos buenos planos, con las medidas de las piezas, deja suficiente margen para las piezas para que entren bien.

En cuanto a la programación, es muy recomendable la creación de funciones, vas a crear un código muy extenso y estas junto a los comentarios te van a ayudar mucho a no perderte.

Para la aplicación en AppInventor II es importante que tengas en cuenta que no se va a ver iguale en la aplicación que en el móvil. Para la comunicación, lo más cómodo es que utilices nímeros codificados por ti.

Finalmente, este es un trabajo que requiere de muchísimo tiempo, pero cuando ves el resultado final te sientes orgulloso de lo que has hecho tu mismo.

 

 

Roberto García Hervás

18/06/2022