domingo, 15 de abril de 2012

Interfaz de la aplicación Android

En la última semana nos hemos dedicado a mejorar tanto el aspecto como las funcionalidades que ofrece la aplicación al usuario. En esta entrada presentamos el aspecto que tiene la interfaz gráfica a día de hoy.

Como ya comentamos en la entrada anterior, la aplicación está formada por tres páginas y se puede pasar de una a otra mediante unas pestañas que hay en la parte superior o simplemente deslizando el dedo hacia un lado de la pantalla, gracias a la clase MyAdapter.java (que implementa la interfaz TitleProvider y extiende la clase PagerAdapter).

A continuación mostramos cada una de estas tres páginas:


COMANDOS

En ella aparecen una serie de botones que nos permiten enviar comandos al robot.

Inicialmente, el único que está habilitado (en color azul celeste) es el de “Conectar”, para establecer la conexión Bluetooth entre el dispositivo Android y el robot Lego Mindstorms.

El resto de botones se habilitan una vez que la conexión ya ha sido establecida:

  • Avanzar: hace que el robot avance o retroceda a la velocidad establecida en el cuadro de texto adyacente (debe ser un valor entre -128 y 127, pues se representa en 8 bits con signo en complemento a 2).
  • Rotar: el robot gira el número de grados indicados en el cuadro de texto.
  • Mapear: es el botón que inicia el modo autónomo de detección de contenedores. Al accionar este botón, el robot empieza a buscar los contenedores que hay a su alrededor.
  • Procesar: inicia el modo autónomo de clasificador de residuos (anteriormente el robot habrá tenido que detectar contenedores para que se realice la clasificación de manera correcta).
  • Disparar: lanza una pelota del cargador del robot.
  • Parar: detiene el movimiento del robot.



SENSORES

Esta es la página en la que se puede llevar a cabo la monitorización de los sensores y otra información acerca del estado del robot.

En primer lugar, encontramos unos círculos de colores que nos indican de qué color son la siguiente pelota que se va a disparar y el contenedor que está detectando el robot (sólo en caso de que tenga un contenedor delante). Aunque en la captura de pantalla que aquí tenemos no se puede apreciar, pues no marca ninguna lectura de los sensores, cuando el robot está en funcionamiento el círculo del color indicado por el sensor de color aparece resaltado.

A continuación encontramos el valor de la distancia (entre 0 y 255) a la que el sensor de ultrasonidos detecta que hay un objeto (sólo en caso de que lo haya; si no hay ningún objeto cerca, marcará 255). La barra también indica de forma cualitativa cuál es esta distancia, estando vacía para una distancia de 0 y completa para 255.

De la misma manera, se presenta el nivel de batería que le queda al robot en ese momento, tanto de forma cualitativa en una barra como en porcentaje exacto.

Por último, podemos ver cuántas pelotas le quedan al robot en el cargador.


CONTROL

En esta página se puede colar de forma remota el movimiento del robot. Deslizando el dedo por la imagen “joystick”, se puede ordenar al robot avanzar (si se desliza por el primer y el segundo cuadrante de la circunferencia) o retroceder (por el tercer o cuarto cuadrante). Cuanto mayor sea la distancia del punto donde se apoya el dedo al centro del círculo, con mayor velocidad se moverá el robot. Además, girará con un ángulo similar al establecido al deslizar el dedo.

También tenemos un botón para disparar, que nos permite hacer una clasificación de residuos de forma manual.

Por último, encontramos el botón de parada, para finalizar el control remoto del robot y dejarlo en reposo.



En los próximos días publicaremos un vídeo de demostración de cómo interactúa un usuario con la aplicación y el robot Kigo.

No hay comentarios:

Publicar un comentario