2012-02-15 26 views
10

El apple documentation for UIAcceleration class dice,¿Qué mide exactamente el acelerómetro iPhone?

"Cuando un dispositivo está sentando todavía con su espalda en una superficie horizontal, cada evento de aceleración tiene aproximadamente los siguientes valores:
x: 0
y: 0
z: -1
"

¡Ahora, estoy confundido! ¿Cómo puede la aceleración no ser cero, cuando dices claramente que el "dispositivo está en reposo"?

ACTUALIZACIÓN

A juzgar por las respuestas, creo que esto debería llamarse algo así como 'forceometer' o 'gravitómetro' y no acelerómetro!

+0

Así que si le da la vuelta (en su estómago) se medirá x: 0 y: 0 z: +1 –

+3

Un comentario a su actualización: el [principio de equivalencia] (http://en.wikipedia.org/wiki/Equivalence_principle) de la teoría de la relatividad general te dirá que la aceleración en un cuerpo es equivalente a la gravitación (simplemente redactada). Entonces, el acetorómetro es, para mí, tan bueno como cualquier término, aunque el "medidor de fuerza" probablemente se acerque más a cómo funciona realmente el dispositivo. Tenga en cuenta que un [gravímetro] (http://en.wikipedia.org/wiki/Gravimeter) es en realidad un dispositivo ligeramente diferente. – Evert

+0

@Evert iOS informa la dirección en la que se * aceleraría * en ausencia de una fuerza externa que contrarreste la gravedad. Tendría más sentido medir esa fuerza externa, pero en cambio iOS presenta de manera confusa un vector de gravedad de pseudoaceleración. No solo la fuerza normal del suelo contrarresta la gravedad, sino que todas las fuerzas se invierten. Entonces tal vez debería llamarse un decelerometro. – Potatoswatter

Respuesta

7

he encontrado la respuesta [en la guía de referencia, gracias CoreMotion to bensnider:

Los acelerómetro mide la suma de dos vectores de aceleración: gravedad y la aceleración de usuario. La aceleración del usuario es la aceleración que el usuario imparte al dispositivo.

6

Encontrará las mejores respuestas en datasheet del acelerómetro utilizado (LIS302DL).

+1

Enlace mencionado por @rokjarc está muerto por ahora. La búsqueda de 'CD00135460.pdf' reveló los siguientes enlaces: [eng.auburn.edu] (http://www.eng.auburn.edu/~nelson/courses/elec5260_6260/LIS302DL%20MEMS%20Accelerometer.pdf), [myavr. información] (http://www.myavr.info/download/mystm-produkte/stm32f4-discovery/LIS302DL-MEMS_3d-I2C-Beschleunigungssensor-CD00135460.pdf) y [cs.smith.edu] (http: // www. cs.smith.edu/~emendelo/classes/spring12/csc360/lectures/accelGyro.pdf). – trejder

+0

@trejder: gracias, edito la respuesta en consecuencia. –

5

Mide la gravedad. La unidad se elige para que la gravedad, 9.81 m/s^2, sea igual a 1 unidad. El letrero dice cómo se dirige el eje del teléfono. En otras palabras, lo que el teléfono considera a la baja.

El teléfono mide 0 como aceleración en caída libre. No sé cuánto quiere tirar el teléfono hacia arriba y hacia abajo para probarlo :)

+0

solo para agregar el enlace oficial del documento: https://developer.apple.com/library/ios/documentation/coremotion/reference/CMAccelerometerData_Class/Reference/Reference.html#//apple_ref/doc/c_ref/CMAcceleration –

12

Obtiene un -1 en el eje Z porque la gravedad actúa sobre el dispositivo, aplicando una aceleración constante de 1G. Supongo que desea la aceleración del usuario, que puede obtener desde el objeto DeviceMotion usando un manejador de movimiento del dispositivo en lugar de un manejador de aceleración. La propiedad userAcceleration filtra los efectos de la gravedad en el dispositivo y solo le indica cuánto lo está acelerando el usuario.

+0

Solo estoy tratando de entender los conceptos aquí. Incluso si el teléfono experimenta una fuerza debido a la gravedad, cuando está estacionario no hay cambio en su velocidad en ninguna dirección. Entonces la aceleración aún debería ser cero, ¿verdad? – gigahari

+0

cuando está parado (o moviéndose con velocidad constante en dirección constante) medirá (sentirá) 1g dirigido al centro de la tierra. Debes considerar estas 3 direcciones como vectores, su suma vectorial sería 1g y de sus tamaños puedes calcular cómo se inclina el dispositivo. Como Ali mencionó: mediría 0 en caída libre - cuando en la mesa, 'siente' la fuerza de la mesa manteniéndola en su lugar :) –

+4

El dispositivo todavía está siendo empujado por la gravedad. La Fuerza está ahí. Los Jedis lo saben más que nadie. – macbirdie

2

Cuando está sentado, la gravedad lo empuja hacia su silla. Si no fuera por la silla o el suelo, costaría aproximadamente 9.8m/s^2. Para que la silla evite que caiga, tiene que actuar con una fuerza en la dirección opuesta con al menos el mismo valor.

El accelómetro muestra el valor de la fuerza de tracción y es un vector tridimensional. En este caso, se dirige directamente hacia abajo. Y el valor dado se expresa en G, unidades de aceleración por gravedad multiplicadas por ese valor.

0

Los contestadores siguen sin tener la fraseología correcta que debe establecerlo directamente para usted ... El dispositivo está "inmóvil" solo en relación con usted. En realidad, no está inmóvil. El http://en.wikipedia.org/wiki/Centripetal_force de la gravedad le da (y usted) aceleración centrípeta. Es real, es lo que te impide volar sobre la Tierra en una tangente, y es lo que el acelerómetro muestra diligentemente. (La Tierra no tiene nada de especial: rotamos alrededor del Sol, etc., etc., cuyas aceleraciones centrípetas son mucho más pequeñas, pero todas mostrarían un acelerómetro lo suficientemente sensible.)

Cuestiones relacionadas