Sensores para teléfonos móviles

Después de algunas horas de búsqueda estoy tan confundido, así que voy a decir ahora lo que he aprendido, así que por favor corrija si estaba equivocado:

Sensor de luz: luz ambiente

Sensor magnético: Puedo conseguir la localización del norte.

Acelerómetro Sensor: la gravedad XYZ, la gravedad de la tierra o lo que nunca la aceleración.

Sensor de proximidad: al igual que los sensores de aparcamiento coche.

Sensor de Orientación: Indica los grados XYZ de su eje.

He intentado esos sensores usando algunas aplicaciones del mercado androide como "Mis sensores", y puedo confirmar que el Sensor del acelerómetro no puede sentir si gira el teléfono en posición sobre una mesa. Mientras que el Sensor de orientación parece atrapar todos los movimientos. Ahora puedo concluir que la brújula aplicación utiliza el sensor magnético para ver dónde está el norte, entonces el sensor de orientación para saber dónde se dirige con su dispositivo, ¿verdad?

Alternar entre los modos vertical y horizontal utiliza "Sensor acelerómetro" y comprueba la gravedad de la tierra en qué eje.

Q1: así que si todo está bien, ¿qué es "Giroscopio"? ¿Es lo mismo que "Sensor de orientación"?

Q2: ¿El sensor de orientación está disponible en la mayoría de los dispositivos?

P3: ¿qué otros usos del sensor de orientación?

Q4 : ¿por qué la mayoría de los sitios web incluso wikipedia dice thet Sensor de orientación == Sensor de acelerómetro?

Rami

Ok, primero los fáciles … Acerca de Q1, el giroscopio mide la velocidad angular (radianes / segundo) y la orientación es una magnitud diferente, diciéndonos cómo se "coloca" el dispositivo (no sé realmente cómo explicar algo Tan básico en inglés).

Y sobre Q2 , yo diría que sí, la orientación 3-Axis está disponible en la mayoría de los teléfonos inteligentes, al menos los que ejecutan Android.

Q3 : La brújula utiliza realmente los valores de Orientarion, el sensor del campo magnético mide esa magnitud, (no en grados) aunque probablemente usted puede calcular los valores de la brújula con el campo magnético. Otro uso … bien, usted puede decir si el dispositivo miente al revés o al revés, por ejemplo.

Acerca de Q4 , esto es más difícil, no soy el experto en acelerómetros, pero creo que la mayoría de estos "sensores" utilizan el mismo sensor de hardware, que mide el campo magnecit y hace los cálculos necesarios, pero insisto, tal vez sea mejor Para leer información más detallada y técnica.

Si observa, ahora OrientarionSensor está obsoleto, y esto está escrito en los documentos:

Nota: Este tipo de sensor existe por razones heredadas, por favor utilice getRotationMatrix () junto con remapCoordinateSystem () y getOrientation () para calcular estos valores en su lugar.

Así que sí, parece que calcula los valores de Orientación a través del Acelerómetro, pero aún así, la Orientación se da en grados y Aceleración en (m / s ^ 2), diferentes magnitudes. Como te dije, creo que miden magnitudes diferentes con el mismo sensor, por eso presentan diferentes tipos de Events en la API.

Espero no haber escrito muchos errores enormes, porque bueno, también me gustaría aclarar algunos conceptos con respecto a estos sensores.

Mdelolmo tiene toda la razón.

Me gustaría añadir lo siguiente:

  • Acerca de Q4. Todo el mundo se dirige al sensor de orientación como acelerómetro
    Porque los teléfonos inteligentes lo utilizan para la función "Auto-Rotar".
    El cambio entre los modos vertical y horizontal
    (A menudo llamada orientación en términos de laicos) se realiza
    Determinando que la gravedad es a lo largo de cuál de los ejes del teléfono. Esto se hace por el acelerómetro-IC.

  • El sensor de orientación (en Android) utiliza los datos del acelerómetro
    Y los datos magnéticos para determinar el posicionamiento exacto del
    dispositivo. es decir. Los ángulos que hace con todos los 3axes. Estos son
    Azimut (o guiñada), paso y rollo.

  • El giroscopio proporciona la velocidad angular del dispositivo.
    NO es el sensor de orientación.

No he trabajado en los teléfonos Android, pero en el futuro, sin embargo los acelerómetros detectan la aceleración por lo general a través de los movimientos de una masa de prueba. Por lo tanto, pueden utilizarse para orientar un dispositivo aproximadamente porque detectan el vector g, de manera que cualquier orientación es totalmente sin restricciones de ángulo respecto al vector g. Ahora los acelerómetros se pueden utilizar como giroscopios, pero no se utilizan de esa manera, ya que tendría que ser mejor que cualquier acelerómetro actual para detectar la rotación a través de la aceleración centrípeta.

Los giroscopios miden directamente la velocidad angular o el ángulo directamente. La mayoría de la medida de la tasa angular y la tasa se integra para obtener ángulo, por lo que se pueden utilizar para medir la orientación, pero ya que son sensores inerciales que deriva y por lo tanto no proporcionan una orientación absoluta, pero son excelentes sensores para las rotaciones relativas o orientación relativa con respecto a Una orientación muy reciente. Espero que esto ayude.

El sensor magnético mide la dirección hacia el norte verdadero a través del campo magnético de la tierra. El sensor magnético suministrado en Norte con el vector g a través de los acelerómetros proporciona información de orientación completa porque rompe la simetría de la orientación alrededor del vector g. Esto sólo es verdad cuando el teléfono / sensores no se mueven. Ya que no sé cómo se implementa en el teléfono no puedo decir mucho más, pero el hecho de que usted necesita acelerómetros y otra orientación para obtener orientación completa puede ser la razón por la cual hay confusión sobre este tema.

Los barómetros miden la presión y pueden ser buenos sensores para medir los cambios de altura, pero pueden ser engañados por sistemas activos de movimiento de aire como los que se encuentran en los hogares con aire acondicionado y en los sistemas de aire caliente forzado.

Si no se está moviendo y tiene suficiente sensibilidad para medir la velocidad de la tierra con sus giroscopios puede hacer algo llamado girocompás donde los giroscopios y acelerómetros se alinean analíticamente o físicamente alineados con el sistema de coordenadas de nivel local. Esto es cuánto mejores giroscopios y acelerómetros miden la orientación en sistemas como aviones, naves espaciales y buques / submarinos. Hay muchas complicaciones, pero esta es la idea básica.

  • Cómo saber si mi SensorManager tiene un Sensor registrado
  • Valor de Android: Sensor.getResolution ()
  • Android: Problemas al calcular la orientación del dispositivo
  • ¿Cómo reemplazar adecuadamente Sensor.TYPE_ORIENTATION (que ahora está obsoleto)?
  • Android - Cómo acercarse al algoritmo de detección de caídas
  • Galaxy s3 tiene sensor de temperatura?
  • Cómo utilizar SensorManager.getOrientation () en lugar de TYPE_ORIENTATION
  • Cómo utilizar el evento del sensor Android para determinar si el dispositivo está orientado hacia arriba o hacia abajo
  • Valor de retorno falso inesperado de android.hardware.SensorManager.registerListener en Android 4.3
  • Azimut encontrado con Sensor.TYPE_MAGNETIC_FIELD mucho más inestable que Sensor.TYPE_ORIENTATION
  • Android PhoneGap obtener guiñada, tono, rollo, relativo a las coordenadas de tierra
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.