2011-01-14 18 views

cevap

9

Genel olarak "tam değerler" yoktur - aygıta göre değişir. Sensor sınıfında getMaximumRange() vardır. Hızlanma pozitif veya negatif olabileceğinden, minimum değeri elde etmek için -1 ile bu değeri güvenli bir şekilde çarpabileceğinizi varsayardım.

+0

Minimum değerin getMaximumRange() tarafından döndürülen değerin negatif olduğunu kabul ediyorum. Çoğu uygulamada bir fark yaratmak için çok küçük olmasına rağmen, (iki sensörün okuma tamamlayıcı sunumundan dolayı), gerçek pozitif maksimum değerin getMaximumRange() değerinden daha düşük bir çözünürlük değeri olduğunu sanıyorum. – gregS

+0

Aslında, masaüstümde 'getMaximumRange()' için '156.88' i döndüren bir 'Bosch Sensortec GmbH' ivmeölçerle bir telefonum var, ancak her eksende tam olarak' 39.225403' toplam maksimum aralığa sahip olmak için utanılacak bir şekilde başarısız oluyor (Ben sağlam bir aletle sarsıldım ve bunu test edebilecek kadar zorla çarptım). Yani bu yöntemin geri dönüşü güvenilir değil, eğer sensörler yüksek doğrulukta rapor veriyorsa (her zaman bu cihazda anlatırlar). Öte yandan, Nexus 6P'm, eksen başına 150ms^2 'lik aralık değerlerini, maksimum toplam ivmesi olan 135.92858447775066ms^2' ile raporlayabilir. –

1

Fiziksel büyüklükleri ölçer! Donanım aygıtı tarafından uygulanan bazı pratik sınırlar olup olmadığını bilmiyorum, ama o kadar hızlı olacağınızı sanmıyorum ... Bu vektörel büyüklükten beri, işaretiniz hareketinizin anlamı .

PD: Sensor.TYPE_ACCELEROMETER olay değerlerini kastettiğinizi varsayardım.

+1

Her donanım sensörü sınırlıdır. Sürücü geliştiricileri bu sınırları belirtmiş olmalı. Bu sınırın ötesinde bir değere ulaşılırsa, raporlanan değer kırpılır. – NickSoft

İlgili konular