Sensores inteligentes y sus aplicaciones

Page 119

Capítulo 3: Inclinación con el Acelerómetro Memsic · Page 107

Figura 3-32: Determinando el ángulo de inclinación con Arcoseno

AX = g sin θ AX = sin θ g sin θ =

AX g

⎛A sin −1 (sin θ ) = sin −1 ⎜⎜ X ⎝ g ⎛A θ = sin −1 ⎜⎜ X ⎝ g

⎞ ⎟ ⎟ ⎠

⎞ ⎟ ⎟ ⎠

Con el MX2125, una medición de 1875 es −1 g, y una medición de 3125 es 1 g. En la actividad #3, escalamos esto al rango de −127 to 127. Recuerde que −127 es el equivalente de −1 para la subrutina Arcsine y 127 es el equivalente de 1. Cualquier valor entre −127 y 127 es el equivalente de una fracción y, en el MX2125, es el seno θ. Entonces, una vez que la medición del MX2125 ha sido escalada a −127 a 127, todo lo que tiene que hacer es usar la subrutina Arcsine para determinar el ángulo de inclinación (el valor de θ). La forma más simple de escribir un programa de inclinación es empezar con el programa ejemplo previo, TestArcsine.bs2. Luego, incorporar la medición del acelerómetro y escalar y compensar tanto los comandos de TestScaleOffset.bs2 como las mediciones del acelerómetro de VertWheelRotation.bs2. La Rutina Principal de este programa se condensa en 2 comandos para medir los eje x y y, 2 comandos para escalar y 2 pequeñas rutinas que llaman a la subrutina Arcsine y despliegan el resultado. DO PULSIN 6, 1, x PULSIN 7, 1, y x = (x MIN 1875 MAX 3125) - 1875 ** 13369 - 127


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.