Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android accelerometer max values

So I have been searching for about 3 hours and I have not come up with a good answer/solution.

My Question is: Why am I getting a max acceleration value of only about 34 m/s^2 or about 3.5 Gs (34/9.81).

Is it because hardware restrictions or software restrictions? If it is hardware I know I can't do nothing about it(or at least not easily). If it is software restriction then how can I remove that restriction, is there any way of doing that? Like an API or something?

I would appreciate any help, Thanks.

Note: I am using a Galaxy S, if that makes a difference. I have also taking a look at this question but that does not helps me: What is android accelerometer min and max range

like image 313
0gravity Avatar asked Oct 05 '12 03:10

0gravity


People also ask

How accurate is the Android accelerometer?

The accelerometers read around -0.8 ms^-2 on both X and Y axes when stationary, so I used this as my offset.

What is the range of an accelerometer?

Most accelerometers will have a selectable range of forces they can measure. These ranges can vary from ±1g up to ±250g. Typically, the smaller the range, the more sensitive the readings will be from the accelerometer.

What values does accelerometer give?

The values reported by the accelerometers are measured in increments of the gravitational acceleration, with the value 1. 0 representing an acceleration of 9.8 meters per second (per second) in the given direction. Acceleration values may be positive or negative depending on the direction of the acceleration.

What are the XYZ values in accelerometer?

The accelerometer in the mobile device provides the XYZ coordinate values, which is used to measure the position and the acceleration of the device. The XYZ coordinate represents direction and position of the device at which acceleration occurred.


1 Answers

Take a look at this: https://electronics.stackexchange.com/questions/11372/samsung-galaxy-s-accelerometer-details The question includes what appears to be the datasheet for the accelerometer used in the Galaxy S. Apparently there are three possible ranges +/-2g, +/-4g, and +/-8g. I'm not an electronics expert so won't provide any more interpretation than that.

According to developer.android.com, the accelerometer readings are hardware-dependent only: developer.android.com/guide/topics/sensors/sensors_motion.html Thus, you'd probably have a better shot at getting an expert answer on the Electrical Engineering stackexchange forum already referenced above: electronics.stackexchange.com.

Good luck with your project!

EDIT: In reference to comments on original question: I see, because it says on the page you reference -

"My understanding is that the default for Android accelerometers is to operate in a predefined range of +-2g. How can I programmatically change this range via a public API? There is a getMaximumRange() method, but no corresponding setMaximumRange() method."

You are wondering if there is a software-based method for changing the pre-selected range. Again, I would think that Android API docs would mention that. Try asking on electronics.stackexchange.com what "dynamically selectable ranges" are and if they are set by physical hardware switches (or something like that) or if they can be changed programmatically.

SECOND EDIT: I read the page I referred you to more thoroughly, and notice that the original questioner checked the Google API and concluded that it is not possible to change the range through it:

API dosen't allow to change them. I think that i can find this data in the api source, but it is not simple. Now i'll try. – MarcoBiagi Mar 13 '11 at 10:36

like image 64
David Avatar answered Sep 27 '22 20:09

David