Laberinto AI2-MIOIO

En este proyecto vamos a realizar una pequeña demostración del uso práctico del sensor acelerómetro del dispositivo Android para el control de un laberinto.
En este caso vamos a utilizar el entorno de desarrollo MIOIO App Inventor 2, ya que para este propósito es más que suficiente.

Consiste en montar dos servos en los ejes de un tablero con forma de laberinto y conectados al shield MIOIOBot hacer que se muevan en función de como movemos nuestro dispositivo Android.

Vamos a necesitar:
Tarjeta MIOIO
Shield MIOIOBot
1 Bluetooth usb compatible
1 portapilas
2 servos SG90
Piezas Laberinto MIOIOBot en formato STL para imprimir.
Unos tornillos y bridas para sujetar los servos y la estructura del laberinto.

pieza 3

Laberinto

pieza 4

Soportes laberinto

pieza 1

Base laberinto 1

pieza 2

Base laberinto 2

 pieza 5

Base laberinto 3

También nesesitarás:

1 bluetooth usb

2 mini servos S9

1 portapilas.

Una vez montada la estructura con los servos, procedemos a conectar los servos al Shield MIOIOBot en los pines auxiliares de la siguiente forma:

DISEÑO

Vamos ahora a realizar el programa que controlará estos servos.

Los bloques en la parte del diseñador que vamos a necesitar son:

  1. 2 bloques servo MIOIOBOT.
  2. 2 botones para iniciar/parar la aplicación.
  3. 4 bloques etiquetas que nos mostrarán el estado de los sensores, para saber si lo estamos haciendo bien.
  4. 1 bloque sensor acelerómetro.

Arrastramos todos esos bloques en el diseñador con la siguiente estructura:

aplicacion MIOIO Appinventor 2 01

 

BLOQUES

Ahora nos vamos a la parte de bloques y ponemos los bloques según la siguiente figura:

Observamos como la función que realizan los botones es poner en marcha o apagar el acelerómetro.

Luego, en los otros bloques, lo que se hace es obtener los datos del acelerómetro (X, Y) y tratarlos según nos interesa para que los servos se comporten como queremos.
La idea es que la posición 90 de los servos sea el origen  0 de coordenadas, de esta forma, cuando el sensor de un valor negativo, el servo se posicionará en un valor inferior a 90º, y si es positivo, lo hará en una posición superior a 90º. Es lo mismo tanto para el eje X, como para el eje Y.

aplicacion MIOIO Appinventor 2 02

Lo único que falta por poner el el programa es el límite de movimiento de los ejes, ya que si inclinas mucho el dispositivo Android lo más seguro es que tropiece con la estructura, se puede romper alguna pieza de plástico, esto lo dejo como tarea para quien quiera hacerlo.

Deja un comentario

Tu dirección de correo electrónico no será publicada.