Introducción y conceptos básicos

El funcionamiento mecánico del robot está basado en 2 servomotores, uno delantero y otro trasero, colocados en 2 ejes distintos. El delantero gira en el plano horizontal, mientras que el trasero lo hace en el plano vertical. La sincronización de los movimientos de esos 2 motores hará que el robot pueda andar.

El control del robot se realiza mediante una placa controladora Arduino Nano a la que se encuentran conectados los servomotores. La placa Arduino Nano consta de 14 pines digitales (numerados de 0 a 13) a los que se pueden conectar distintos tipos de dispositivos y sensores, como es el caso de los servomotores de los que estamos hablando. En este robot concretamente, se han realizado las siguientes conexiones:

  • Pin 7: Servomotor trasero
  • Pin 8: Servomotor delantero

Los servomotores utilizados para este pequeño robot pueden girar únicamente desde 0º a 180º, es decir, sólo pueden hacer medio giro. La posición inicial de los motores será 90º, y en esa posición el robot deberá estar lo más recto posible. Si no lo estuviera, se puede incrementar o decrementar un poco esos 90º al valor adecuado. 

Para que el robot ande, se modificará el ángulo de cada motor en 20º, es decir, si en 90º tiene las patas rectas, se indicará el ángulo 110º (+20º) para que las patas giren en un sentido, o se asignará el ángulo 70º (-20º) para que giren en el otro sentido las patas delanteras o traseras.

Pruebas de funcionamiento

Prueba del motor trasero

Escribe el siguiente código en el entorno de programación mBlock (que debe estar configurado previamente), para que al pulsar la tecla A el motor trasero gire en un sentido y la tecla S para que gire en el otro. Comprueba que funciona correctamente pulsando esas teclas.

anotacion 4936e Observa los colores que tiene cada sentencia del código para que puedas localizarlo más fácilmente entre las distintas categorías de sentencias (Eventos-marrón, Robots-azulverdoso, Control-Amarillo, etc).

Screen Shot 2017 05 15 at 21.22.21 2c568

Prueba del motor delantero

De manera similar añade este otro código para que con las teclas K y L se controle el motor delantero. Comprueba el funcionamiento.

Screen Shot 2017 05 15 at 21.25.55 aee53

Primeros pasos "a mano"

Usando esas combinaciones de teclas, intenta que el robot realice algunos pasos para intentar andar. Para ello deberás pulsar la tecla correspondiente al paso que haya que dar. Prueba a hacer lo siguiente:

  1. Levantar la pata delantera-derecha.
  2. Adelantar la pata trasera-izquierda.
  3. Levantar la pata delantera-izquierda.
  4. Adelantar la pata trasera-derecha.
  5. Volver al paso 1.

Funcionamiento autónomo

Pues esos mismos pasos consecutivos son los que debe realizar la aplicación que permite que el robot ande de manera autónoma, añadiendo una pequeña pausa entre cada movimiento para facilitar la acción.

Por ejemplo, para que el robot ande 10 pasos cuando se pulse la tecla Espacio, puedes crear un código como el siguiente:

Screen Shot 2017 05 15 at 21.40.02 2fc2b

Crea tus propias modificaciones

Demuestra ahora tu creatividad y habilidad como programador creando nuevas secuencias de movimientos de las patas, de manera que intentes que el robot ande, por ejemplo, hacia atrás, gire sobre sí mismo, ande trazando una curva hacia un lado y luego hacia el otro, etc.