12
1 Práctica 3 PRÁCTICA 3 ACELERÓMETRO AUTORES José Francisco Bravo Sánchez Pedro Fernández Bosch 06/01/2015

PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

Embed Size (px)

Citation preview

Page 1: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

1 Práctica 3

PRÁCTICA 3

ACELERÓMETRO

AUTORES

José Francisco Bravo Sánchez Pedro Fernández Bosch

06/01/2015

Page 2: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

2 Práctica 3

Datos de la práctica

Sensor: Acelerómetro

Título de la aplicación: Pandacelerómetro

Licencia: Licencia Pública General de GNU (GPL) versión 3

Android Play Store: https://play.google.com/store/apps/details?id=com.pambudev.accelerometer

Autores:

José Francisco Bravo Sánchez GitHub: https://github.com/YusBravo

Pedro Fernández Bosch GitHub: https://github.com/pebosch

Fecha de la última modificación: 06/01/2015

Page 3: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

3 Práctica 3

Descripción del problema que se aborda

Un acelerómetro es un sensor que mide la aceleración relativa a

la caída libre como marco de referencia [REF 1].

Normalmente interactuamos con infinidad de aplicaciones que

utilizan este sensor, sobretodo en juegos donde según movamos

el dispositivo, obtendremos una reacción diferente.

A lo largo del documento vamos a mostrar cómo podemos captar

los valores de posición de los ejes X, Y y Z y calcular la aceleración

de un determinado movimiento en el dispositivo.

Además, esta práctica requiere la detección de tres patrones de

movimiento distintos (un movimiento para cada eje, ya sea

positivo o negativo).

Page 4: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

4 Práctica 3

Descripción de la solución que se aporta

Se ha elaborado el presente tutorial donde se especifican las

principales características, funciones y ficheros de una aplicación

Android desarrollada a modo de ejemplo de utilización del sensor

acelerómetro.

Esta aplicación Android permite contabilizar y mostrar en pantalla

un número de movimientos recogidos por el acelerómetro en los

ejes X, Y y Z.

Se ha diseñado una interfaz gráfica sencilla y usable para facilitar

el entendimiento y función del acelerómetro desde el punto de

vista de usuario y desarrollador.

Juego en pausa

Sensor X

Page 5: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

5 Práctica 3

Sensor Y

Menú de opciones

Esta aplicación es accesible desde Android Play Store.

Play Store

Page 6: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

6 Práctica 3

Tutorial

- Descarga del instalador .apk

El fichero instalable de la aplicación de ejemplo puede descargarse

desde Android Play Store.

Dirección de descarga:

https://play.google.com/store/apps/details?id=com.pambudev.accel

erometer

- Descarga del código fuente

El código fuente de la última versión de la aplicación de ejemplo

puede obtenerse desde cualquier directorio GitHub de los autores.

- Importar el proyecto a Eclipse

El proyecto ha sido desarrollado bajo Android Developer Tools

Eclipse Plugin. Este producto incluye Eclipse Platform, JDT, CDT, EMF,

GEF y WTP. Puede obtenerse gratuitamente a través de la web de

android developer:

http://developer.android.com/sdk/installing/installing-adt.html

Una vez instalado el software, tan sólo hay que importar la carpeta

base Accelerometer desde Files > Import > Existing Projects into

Workspace.

- Ficheros de interés:

A continuación se describe el contenido de algunos de los ficheros y

sus funciones más relevantes para la aplicación:

Page 7: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

7 Práctica 3

o Accelerometer.java y AccelerometerHandler.java (API)

En estos ficheros se realiza la lectura de los valores iniciales del

sensor en sus diferentes ejes accelX, accelY, accelZ. Estos

valores pueden ser utilizados además para el desarrollo de

aplicaciones que hacen uso del sensor Giroscopio.

Una vez recogidas, estas variables son tratadas mediante una

operación matemática para detectar un movimiento realizado

por el dispositivo en un determinado eje: movX, movY, movZ.

Además, el resultado del movimiento puede ser positivo o

negativo (hacia un lado o hacia el lado opuesto) dependiendo

del eje en que se efectúe la oscilación: isPositiveMovX(),

isNegativeMovX().

o AccelerometerInterface.java (API)

Este fichero contiene la declaración de los métodos públicos

que hacen uso del acelerómetro: getAccelX(); getAccelY();

getAccelZ(); getAtTime(); getPower(); actPrevAxisValues();

isPositiveMovX(); isNegativeMovX(); isPositiveMovY();

isNegativeMovY(); isPositiveMovZ(); isNegativeMovZ();

getTotalMov(); getMovXValue(); getMovYValue();

getMovZValue();

Para hacer uso de cualquiera de estos métodos, resulta

ineludible añadir al programa la totalidad de ficheros

anteriores (ficheros API).

Page 8: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

8 Práctica 3

o MainActivity.java

Fichero principal de la aplicación donde quedan programadas

las funcionalidades del programa de ejemplo.

Se han programado 7 botones que corresponden a las

acciones: Inicio/pausa, Arriba, Abajo, Derecha, Izquierda,

Interior, Exterior. Además, se ha incorporado un menú de

opciones/ayuda localizado en la esquina superior izquierda de

la aplicación.

Adicionalmente, se ha incorporado un Feedback al usuario,

definiendo un mensaje de ayuda en la función

changeFeedbackText()

o Activity_main.xml

Fichero que alberga el diseño de la aplicación Android. Está

compuesto por una capa principal (RelativeLayout), Cajas de

texto (TextView), imágenes (ImageView) y Botones (Button).

Las imágenes del menú se encuentran almacenadas en el

directorio /res/drawable.

Page 9: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

9 Práctica 3

Errores frecuentes

- ¿Acelerómetro o giroscopio? [REF 2]

Un acelerómetro es un elemento sensor que mide la aceleración, la

vibración, el choque y la gravedad, mientras que un giroscopio

permite que un dispositivo inteligente mida y mantenga la

orientación, la dirección, el movimiento angular y la rotación.

Por lo tanto, la simple acción de determinar la orientación horizontal

o vertical de un dispositivo es propia de un giroscopio y no de un

acelerómetro.

- Valor del sensor vs. Valor del movimiento

Los valores de cada eje, así como el cálculo de la aceleración tras un

determinado movimiento se realiza en la función ejecutarAccion del

fichero MainActivity.java

Los valores instantáneos del eje X, Y y Z se recogen por el sensor

acelerómetro en las variables accelX, accelY y accelZ.

Pero el cálculo de la aceleración del movimiento en los ejes X, Y y Z

se almacena en movX, movY y movZ para cada eje respectivo.

Page 10: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

10 Práctica 3

Lecturas recomendadas

- ¿Cuáles son y para qué sirven los sensores de nuestros Android?

http://www.elandroidelibre.com/2014/07/cuales-son-y-para-que-

sirven-los-sensores-de-nuestros-android.html

Resumen del funcionamiento de los sensores más usuales en los

dispositivos actuales para recopilación y tratamiento de información.

Fuente: El androide libre

- Curso Android: Trabajar con el acelerómetro

http://www.maestrosdelweb.com/curso-android-sensores-trabajar-

con-acelerometro/

Sexto capítulo gratuito del Curso Android de Maestros del Web

correspondiente al aprovechamiento y uso del acelerómetro para

detectar movimientos en un dispositivo Android.

Fuente: Maestros del Web

- Sensores en Android: Acelerómetro

http://sekthdroid.wordpress.com/2013/03/12/sensores-en-android-

acelerometro/

Manual para la captación de valores de los ejes X, Y y Z en un

dispositivo Android.

Fuente: Sekth Droid

Page 11: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

11 Práctica 3

Referencias

- [REF 1] Acelerómetro, Wikipedia. http://es.wikipedia.org/wiki/Aceler%C3%B3metro

- [REF 2] Giroscopio y acelerómetros usados en teléfonos inteligentes. http://www.ehowenespanol.com/giroscopio-acelerometros-usados-telefonos-inteligentes-info_189829/

Page 12: PRÁCTICA 3 ACELERÓMETRO - nuevos-paradigmas-de ... · principales características, funciones y ficheros de una aplicación ... -¿Cuáles son y para qué sirven los sensores de

Edición sostenible. Si no es necesario, no lo imprima. Si lo imprime, hágalo a doble cara.