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).
- ¿Cómo detectar la presencia del usuario en android?
- Android AllJoyn: Conexión con la segunda máquina da error de BusAttachement
- Error de sensor de rotación Android sensor
- Android sincronizado onSensorChanged?
- Cómo calcular correctamente la aceleración lineal usando AcceleroMeter en Android
¿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
- ¿Cómo saber si hay un sensor en mi dispositivo Android?
- Cómo calibrar el sensor de orientación en android?
- SENSOR_DELAY_GAME: ¿cuánto cuesta?
- Uso de la CPU del sensor Android
- Android sensorPortrait no funciona para el modo de retrato inverso
- Precisión del sensor de proximidad
- Android: Obtener el valor máximo del sensor de luz
- Sensor de vector de rotación Android 5 no es preciso
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.
- Html5 audio en apache cordova android aplicación nativa
- Cómo devolver datos a la actividad de los padres