Académique Documents
Professionnel Documents
Culture Documents
Sistemas y Computacin
INVESTIGACIN: ACELEROMETRO DE
ANDROID
Referencias _________________________________________________________13
1 INTRODUCCIN
El presente documento tiene como objetivo presentar de forma secuencial y
estructurada una investigacin referente al sensor integrado en los dispositivos Android que
lleva por nombre Acelermetro.
El contenido de la investigacin en curso pretende que inicialmente se le muestre al
lector toda la informacin necesaria para que pueda comprender de una manera sencilla y
fluida el funcionamiento del sensor presentado y posteriormente pueda desarrollar un
sencillo ejemplo de aplicacin para dispositivos Android.
Una vez que el lector ha obtenido el conocimiento suficiente del sensor, para poder
complementar todo el conocimiento adquirido, se le presenta una sencilla pero completa
prctica para que pueda comprobar el sencillo pero impresionante funcionamiento del
sensor acelermetro.
Por ltimo se listaran las conclusiones pertenecientes a la investigacin, brindndole
al lector, las opiniones individuales que el equipo desarrollador de la misma han generado
despus de investigar todos los tpicos y realizar la prctica correspondiente que fue
anexada al final de la investigacin.
2 MARCO TERICO
2.1 Acelermetro
Los acelermetros son dispositivos que miden la aceleracin, que es la tasa de
cambio de la velocidad de un objeto. Esto se mide en metros por segundo al cuadrado
(m/s) o en las fuerzas G (g). La sola fuerza de la gravedad para el planeta Tierra es
equivalente a 9,8 m/s, pero esto vara ligeramente con la altitud (y ser un valor diferente
en diferentes planetas). Los acelermetros son tiles para detectar las vibraciones en los
sistemas o para aplicaciones de orientacin [2].
Los acelermetros pueden medir la aceleracin en uno, dos o tres ejes. Los de tres
ejes son ms comunes conforme los costos de produccin de los mismos baja.
Generalmente, los acelermetros contienen placas capacitivas internamente. Algunos de
estos son fijos, mientras que otros estn unidos a resortes minsculos que se mueven
internamente conforme las fuerzas de aceleracin actan sobre el sensor. Como estas
placas se mueven en relacin el uno al otro, la capacitancia entre ellos cambia. A partir de
estos cambios en la capacitancia, la aceleracin se puede determinar [2].
Actualmente es posible construir acelermetros de tres ejes (X, Y, Z) en un slo chip
de silicio, incluyendo en el mismo la parte electrnica que se encarga de procesar las
seales. El principio de operacin de los dispositivos, acelermetros e inclinmetros de
tecnologa MEMS, estn basados en el traspaso trmico, por conveccin natural [2].
Estos dispositivos miden cambios internos, de la transferencia de calor causada por
la aceleracin, ofreciendo ventajas significativas sobre el empleo de una estructura
tradicional slida de masas de prueba. Ya que la masa de prueba en el diseo de los
sensores MEMS son molculas de gas, las estructuras mviles mecnicas son eliminadas
dentro del acelermetro [2].
2.2 Sensores en Android
La mayora de los dispositivos con Android han incorporado sensores que miden el
movimiento, la orientacin y otras condiciones ambientales. Estos sensores son capaces de
proporcionar datos en bruto con una alta precisin y exactitud, y son tiles si desea
supervisar el movimiento del dispositivo en tres dimensiones o localizacin, o si desea
monitorear los cambios en el entorno ambiental cerca de un dispositivo [3].
2
Se puede acceder a los sensores disponibles en el dispositivo y adquirir los datos del
sensor Android. El marco del sensor proporciona varias clases e interfaces que ayudan a
realizar una amplia variedad de tareas relacionadas con los sensores. Por ejemplo, puede
utilizar el marco del sensor para hacer lo siguiente [3]:
Determine qu sensores estn disponibles en un dispositivo.
Determinar las capacidades de un sensor individual, como su rango mximo,
fabricante, requerimientos de energa y resolucin.
Adquirir datos del sensor y definir la tasa mnima a la que usted adquiere los datos
del sensor.
Registrar y anular el registro de los detectores de eventos de sensores que
monitorizan los cambios de los sensores.
2.3 Tipos de Sensores de Android
La mayora de los dispositivos con Android han incorporado sensores que miden el
movimiento, la orientacin y otras condiciones ambientales. Estos sensores son capaces de
proporcionar datos en bruto con una alta precisin y exactitud, y son tiles si desea
supervisar el movimiento del dispositivo en tres dimensiones o localizacin, o si desea
monitorear los cambios en el entorno ambiental cerca de un dispositivo. Por ejemplo, un
juego puede realizar un seguimiento de las lecturas de sensor de gravedad de un dispositivo
para inferir los gestos y movimientos de usuario complejas, como la inclinacin, el temblor,
la rotacin, o swing. Del mismo modo, una aplicacin meteorolgica podra utilizar el
sensor de temperatura y humedad del sensor de un dispositivo para calcular y reportar el
punto de roco, o una aplicacin de viajes podra usar el sensor de campo magntico
terrestre y el acelermetro para informar de una brjula.
3
Tipo
Descripcin
Usos comunes
TYPE_ACCELER
Hardware
La deteccin de
movimiento
OMETER
inclinacin, etc).
gravedad.
Mide la temperatura ambiente en
Monitoreo de la
TEMPERATURE
TYPE_GRAVITY
Software o
siguiente nota.
Mide la fuerza de la gravedad en m /
La deteccin de
Hardware
movimiento
(sacudida,
inclinacin, etc).
Deteccin de rotacin
TYPE_AMBIENT_
TYPE_GYROSCO
PE
Hardware
Hardware
Y, y Z).
TYPE_LIGHT
Hardware
El control de brillo de
TYPE_LINEAR_A
Software o
(iluminacin) en lx.
Medidas de la fuerza de aceleracin
la pantalla.
Monitoreo de
CCELERATION
Hardware
en m / s 2 que se aplica a un
aceleracin a lo largo
Hardware
C_FIELD
TYPE_ORIENTATI
gravedad.
Mide el campo geomagntico
Creacin de una
ON
(x, y, z) en mT.
Medidas grados de rotacin que
La determinacin de
posicin del
dispositivo.
TYPE_PROXIMIT
Y
Hardware
Hardware
elgetRotationMatrix () mtodo.
Mide la presin del aire ambiente en
Monitoreo de los
hPa o mbar.
cambios de presin
del aire.
Posicin del telfono
TYPE_RELATIVE
Hardware
_HUMIDITY
Punto de roco de
en porcentaje (%).
Monitoreo, absoluta,
y la humedad
TYPE_ROTATION
Software o
Mide la orientacin de un
relativa.
La deteccin de
_VECTOR
Hardware
movimiento y
deteccin de rotacin.
TYPE_TEMPERAT Hardware
dispositivo.
Mide la temperatura del dispositivo
Control de las
URE
temperaturas.
Puede utilizar esta interfaz para crear dos mtodos de devolucin de llamada que
reciban notificaciones (eventos del sensor) cuando los valores de los sensores cambian o
cuando la precisin del sensor cambia [3].
En una aplicacin tpica utiliza estas API relacionados con los sensores para realizar
dos tareas bsicas:
o
La identificacin de sensores y capacidades de sensores
La identificacin de los sensores y capacidades de los sensores en tiempo de
ejecucin es til si su aplicacin tiene caractersticas que dependen de los tipos de
sensores especficos o capacidades. Por ejemplo, es posible que desee para identificar
todos los sensores que estn presentes en un dispositivo y desactivar las funciones de la
aplicacin que se basan en sensores que no estn presentes. Del mismo modo, es posible
que desee para identificar todos los sensores de un tipo determinado para que pueda
elegir la aplicacin del sensor que tiene el rendimiento ptimo para su aplicacin.
o
Si bien la disponibilidad del sensor vara de un dispositivo a otro, sino que tambin
puede variar entre las versiones de Android. Esto es porque los sensores Android se han
introducido en el transcurso de varias versiones de la plataforma. Por ejemplo, muchos
sensores fueron introducidas en Android 1.5 (Nivel API 3), pero algunos no se aplican y no
estaban disponibles para su uso hasta Android 2.3 (Nivel API 9). Del mismo modo, varios
sensores fueron introducidos en Android 2.3 (Nivel API 9) y Android 4.0 (nivel de API 14).
La tabla resume la disponibilidad de cada sensor en una base de plataforma por
plataforma. Slo cuatro plataformas se enumeran porque esas son las plataformas que
implicaron cambios de sensores. Sensores que aparecen como obsoletos an estn
disponibles en las plataformas posteriores (siempre que el sensor est presente en un
dispositivo), que est en lnea con la poltica de compatibilidad con versiones posteriores de
Android [3].
Android
2.2
(Nivel
API 8)
Android
1.5
(Nivel
API 3)
TYPE_ACCELEROMETER
TYPE_AMBIENT_TEMPERATURE
n/A
n/A
n/A
TYPE_GRAVITY
n/A
n/A
TYPE_GYROSCOPE
n/a1
n/a1
TYPE_LIGHT
TYPE_LINEAR_ACCELERATION
n/A
n/A
TYPE_MAGNETIC_FIELD
TYPE_ORIENTATION
S 2
S 2
S 2
TYPE_PRESSURE
n/a1
n/a1
TYPE_PROXIMITY
TYPE_RELATIVE_HUMIDITY
n/A
n/A
n/A
TYPE_ROTATION_VECTOR
n/A
n/A
TYPE_TEMPERATURE
S 2
3 ACELERMETRO DE ANDROID
Las nuevas generaciones de telfonos inteligentes incluyen funciones intuitivas
incorporadas que pueden requerir el uso de un giroscopio integrado o un acelermetro. Un
giroscopio te permite cambiar la orientacin del dispositivo haciendo girar su pantalla. Un
acelermetro, por otra parte, rastrea la aceleracin o percibe la vibracin del dispositivo. Un
giroscopio y un acelermetro incorporado funcionan en combinacin con el sistema
operativo de un telfono inteligente o con aplicaciones de software especficas para realizar
estas y otras funciones.
Un acelermetro es un elemento sensor que mide la aceleracin, as como el ngulo
de inclinacin, la rotacin, la vibracin, el choque y la gravedad. Para ofrecer funcionalidad
en un telfono inteligente, el software del acelermetro debe traducir los datos
proporcionados por el sensor. Los telfonos inteligentes utilizan varios tipos de
acelermetros, siendo el elemento sensor y el software las principales diferencias entre
ellos.
Cuando se aplica a un telfono inteligente, un acelermetro puede cambiar
automticamente la orientacin del dispositivo de vertical a horizontal. Un acelermetro es
un sensor que mide el movimiento de inclinacin y orientacin de un telfono mvil [1].
9
La aceleracin se mide en metros por segundo por segundo (m/s). Si un eje est
apuntando directamente hacia el centro de la tierra, su aceleracin ser ms o menos -10
m/s. Si est apuntando en la direccin opuesta, la aceleracin ser de 10 m/s [1].
En cada acelermetro se encuentran unos resortes muy finos hechos de silicio, que
oscilan contactando una serie de puntos. Cuando stos se mueven empujados por la
gravedad, los puntos de contacto miden la diferencia de potencial y pueden discernir en qu
direccin o cmo se est moviendo el telfono en cuestin. Tambin es interesante la
fabricacin de estos chips, que implica varios baos del silicio en hidrxido de potasio
(KOH, o potasa custica, muy corrosiva) [2].
11
Por esta razn, cuando el dispositivo est sentado en una mesa (y no de aceleracin),
el acelermetro lee una magnitud de g = 9,81 m/s 2. Del mismo modo, cuando el dispositivo
est en cada libre y, por tanto, acelerar rpidamente hacia el suelo a 9,81 m/s 2, su
acelermetro lee una magnitud de g = 0 m/s2. Por lo tanto, para medir la aceleracin real del
dispositivo, la contribucin de la fuerza de gravedad debe ser retirada de los datos del
acelermetro.
12
movimiento. Un inconveniente es que puede que tenga que aplicar filtros de paso bajo y
paso alto para eliminar las fuerzas gravitatorias y reducir el ruido [3].
Algunos de los mtodos que nos proporciona la clase sensor de Android, brindan
informacin pertinente al acelermetro que se encuentra integrado en el dispositivo, los
cuales son los siguientes [3]:
public int getFifoMaxEventCount (). Nmero mximo de eventos de este sensor que
podra ser dosificado. Si este valor es cero indica que el modo por lotes no se admite para
este sensor.
public float getMaximumRange (). Rango mximo del sensor en la unidad del
sensor.
public int getMinDelay (). El retardo mnimo permitido entre dos eventos en
microsegundos, o cero si este sensor slo devuelve un valor cuando los datos estn
cambiando.
13
public float getPower (). La potencia en mA utilizado por este sensor mientras est
en uso.
public float getResolution (). Resolucin del sensor en la unidad del sensor.
4 CONCLUSIONES
Una vez que ha finalizado la investigacin el equipo lista las siguientes
conclusiones:
Los sensores que presentan los smartphones actuales nos permiten realizar una gran
variedad de funciones a travs de nuestros dispositivos, en conjunto todos ellos nos brindan
una experiencia de usuario que resulta ser eficiente en su desempeo.
El acelermetro, en especfico, es un sensor que ha resultado ser imprescindible en
el desarrollo de los telfonos inteligentes actuales, ya que de l depende el buen
funcionamiento del mismo, adems de que ofrece informacin para que las aplicaciones se
14
ejecuten de manera adecuada, as mismo, para que dicha informacin pueda ser utilizada
por otros sensores con el objetivo de obtener una buena experiencia de usuario.
Sin embargo, un inconveniente es que puede que tenga que aplicar filtros de paso
bajo y paso alto para eliminar las fuerzas gravitatorias y reducir el ruido. Si bien es cierto
que a partir de los ltimos aos se ha venido implementando de forma frecuente, cabe
mencionar que no todos los acelermetros son iguales, ya que se diferencian de compaa a
compaa, como es Android, iPhone y Windows Phone, entre otras.
En este presente trabajo se ha aprendido a trabajar con el acelermetro, uno de los
varios sensores incluidos en los telfonos, y se han comprendido conceptos bsicos que nos
sirven para entender la manera en que funciona.
REFERENCIAS
[1] P. Deitel, H. Deitel y A. Deitel, Android para Programadores Un Enfoque Impulsador
de Aplicaciones, Primera edicin, Prentice-Hall.
[2] A. Raymond S., J. Jewett W., Fsica para Cientficos e Ingenieros, Sexta edicin,
Brooks/Cole, 2004.
[3] Android, Developers, http://developer.android.com/
15