Valores máximos del acelerómetro Android

Así que he estado buscando alrededor de 3 horas y no he llegado con una buena respuesta / solución.

Mi pregunta es: ¿Por qué estoy obteniendo un valor de aceleración máximo de sólo 34 m / s ^ 2 o alrededor de 3.5 Gs (34 / 9.81).

¿Es debido a restricciones de hardware o restricciones de software? Si es hardware que sé que no puedo hacer nada al respecto (o al menos no fácilmente). Si es la restricción de software, ¿cómo puedo eliminar esa restricción, hay alguna manera de hacer eso? ¿Como una API o algo así?

Agradecería cualquier ayuda, gracias.

Nota : Estoy usando un Galaxy S, si eso hace una diferencia. También he echado un vistazo a esta pregunta, pero eso no me ayuda: ¿Qué es el acelerómetro androide de rango mínimo y máximo

Echa un vistazo a esto: https://electronics.stackexchange.com/questions/11372/samsung-galaxy-s-accelerometer-details La pregunta incluye lo que parece ser la hoja de datos para el acelerómetro utilizado en el Galaxy S. Aparentemente hay Tres rangos posibles +/- 2g, +/- 4g, y +/- 8g. No soy un experto en electrónica, por lo que no proporcionará más interpretación que eso.

De acuerdo con developer.android.com, las lecturas del acelerómetro dependen únicamente del hardware: developer.android.com/guide/topics/sensors/sensors_motion.html Por lo tanto, probablemente tendría una mejor oportunidad de obtener una respuesta de expertos en el área de Electrical Ingeniería stackexchange foro ya mencionado anteriormente: electronics.stackexchange.com.

¡Buena suerte con tu proyecto!

EDIT: En referencia a los comentarios sobre la pregunta original: veo, porque dice en la página que referencia –

"Mi comprensión es que el valor por defecto para los acelerómetros de Android es operar en un rango predefinido de + -2 G. ¿Cómo puedo cambiar este rango a través de una API pública ?, hay un método getMaximumRange (), pero no un método setMaximumRange () correspondiente. "

Usted se está preguntando si hay un método basado en software para cambiar el rango preseleccionado. Una vez más, creo que los documentos de la API de Android mencionan eso. Intente preguntar en electronics.stackexchange.com qué son los "rangos seleccionables dinámicamente" y si están configurados por switches físicos de hardware (o algo así) o si pueden cambiarse mediante programación.

SEGUNDO EDIT: He leído la página a la que me referí más a fondo, y notar que el interrogador original comprobó la API de Google y llegó a la conclusión de que no es posible cambiar el rango a través de él:

API no permite cambiarlos. Creo que puedo encontrar estos datos en la fuente api, pero no es simple. Ahora lo intentaré. – MarcoBiagi mar 13 '11 a las 10:36

Dada la magnitud de aceleración máxima que está leyendo desde su Galaxy S es de 3,5 g, su acelerómetro Galaxy S parece estar configurado para tener un acelerómetro por eje de +/- 2g (es decir, sqrt (2,0 * 2,0 + 2,0 * 2,0 + 2,0 * 2,0) = 3,5). Para referencia, aquí están los rangos de acelerómetro por eje de su Galaxy S, el Moto G, y los dispositivos Nexus Android:

Galaxy S: +/- 2g
Moto G: +/- 2g
Nexus 1: +/- 2 g
Nexus S: +/- 2 g
Nexus 4: +/- 4 g
Nexus 5: +/- 2 g

El rango de acelerómetro por eje normalmente no se da en la hoja de especificaciones de un teléfono. Por lo tanto, si otros lectores pasan a conocer el alcance máximo del acelerómetro de su teléfono, no dude en agregarlo a esta lista.

Desafortunadamente, el acelerómetro Sensor.getMaximumRange () API es incoherente: devuelve valores "cero a pico" en la mayoría de los dispositivos, pero "pico a pico" en algunos (por ejemplo, el Moto G). Una aproximación para saber si un dispositivo en particular devuelve Sensor.getMaximumRange () como "cero a pico" o "pico a pico" es ejecutar una aplicación libre de trazado de datos de sensores como ftNote y agitar vigorosamente el dispositivo para ver dónde se acoplan las lecturas del acelerómetro Los valores del sensor trazado.

  • GetSystemServices es indefinido cuando se llama en un fragmento?
  • ¿Por qué hay una diferencia en los valores magnéticos tomados por diferentes teléfonos inteligentes?
  • ¿Qué ocurre con mi técnica de monitorización de sensores?
  • Cómo detectar el usuario manual que sostiene su dispositivo
  • ¿Cuál es la diferencia conceptual entre sensor de vector de rotación y sensor de orientación en Android?
  • Android 4.3: BLE: Comportamiento de filtrado de startLeScan ()
  • Cómo obtener datos de orientación suave en android
  • Mostrar la dirección del lugar con la flecha en Android ListView
  • Cómo usar el Acelerómetro para medir la distancia para el desarrollo de aplicaciones para Android
  • Rajawali cámara giratoria con Sensor.TYPE_ROTATION_VECTOR comportamiento extraño
  • Mecánico de seguridad de craqueo utilizando Android de audio y sensores de orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.