Bu bölümde sensör eksenleri, taban sensörleri ve kompozit sensörler (etkinlik, davranış, kalibre edilmemiş ve etkileşim) açıklanmaktadır.
Sensör eksenleri
Birçok sensörden gelen sensör etkinliği değerleri, cihaza göre statik olan belirli bir karede ifade edilir.
Mobil cihaz eksenleri
Sensor API yalnızca ekranın doğal yönüne göredir (cihazın ekran yönü değiştiğinde eksenler değiştirilmez).
Otomotiv eksenleri
Android Automotive uygulamalarında eksenler, araç gövde çerçevesine göre tanımlanır. Araç referans çerçevesinin orijini, arka aksın merkezidir. Araç referans çerçevesi şu şekilde yönlendirilir:
- X ekseni sağa doğru işaret eder ve araç simetri düzlemine dik bir yatay düzlemdedir.
- Y ekseni ileriyi gösterir ve yatay bir düzlemdedir.
Araç referans çerçevesi sağ koordinat sistemidir. Bu nedenle, Z ekseni yukarı doğru
Referans çerçevesinin Z ekseni yer çekimine göre hizalanır. Bu, X ekseninin ve Y ekseninin de yatay olduğu anlamına gelir. Bu nedenle, Y ekseni her zaman ön akstan geçmeyebilir.
Baz sensörleri
Temel sensör türleri, temsil ettikleri fiziksel sensörlerin adından türetilir. Bu sensörler, tek bir fiziksel sensörden veri aktarır (diğer sensörlerden veri üreten kompozit sensörlerin aksine). Temel sensör türlerine örnek olarak şunlar verilebilir:
SENSOR_TYPE_ACCELEROMETER
SENSOR_TYPE_GYROSCOPE
SENSOR_TYPE_MAGNETOMETER
Ancak taban sensörleri, temel fiziksel sensörleriyle aynı değildir ve karıştırılmamalıdır. Düzeltmeler (ör. önyargı telafisi ve sıcaklık telafisi) uygulandığı için taban sensöründen gelen veriler fiziksel sensörün ham çıkışı değildir.
Örneğin, bir temel sensörün özellikleri aşağıdaki kullanım durumlarında temel fiziksel sensörünün özelliklerinden farklı olabilir:
- 1 deg/sn. önyargı aralığına sahip olduğu derecelendirilmiş bir jiroskop çipi.
- Fabrika kalibrasyonu, sıcaklık telafisi ve önyargı telafisi uygulandıktan sonra Android sensörünün gerçek önyargısı azaltılır.Bu, önyargının 0, 01 deg/sn'nin altında olacağı bir noktaya kadar olabilir.
- Bu durumda, alttaki sensörün veri sayfasında 1 derece/sn demesine rağmen Android sensörünün 0, 01 derece/sn'nin altında bir sapmaya sahip olduğunu söyleriz.
- 100 uW güç tüketimine sahip bir barometre.
- Oluşturulan verilerin çipten SoC'ye taşınması gerektiğinden, barometrenin Android sensöründen veri toplamanın gerçek güç maliyeti çok daha yüksek olabilir (ör. 1000 uW).
- Bu durumda, barometrenin çip uçlarında ölçülen güç tüketimi 100 uW olsa bile Android sensörünün 1000 uW güç tüketimine sahip olduğunu söyleriz.
- Kalibrasyon sırasında 100 uW, kalibrasyon yaparken daha fazla güç tüketen bir manyetometre.
- Kalibrasyon rutini, jiroskopun etkinleştirilmesini (5.000 uW) ve bazı algoritmaların çalıştırılmasını (900 uW) gerektirebilir.
- Bu durumda, (manyetometre) Android sensörünün maksimum güç tüketiminin 6.000 uW olduğunu söyleyebiliriz.
- Bu durumda, ortalama güç tüketimi daha kullanışlı bir ölçümdür ve HAL aracılığıyla sensör statik özelliklerinde raporlanır.
İvme ölçer
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_ACCELEROMETER)
uyandırma olmayan bir sensör döndürür
İvme ölçer sensörü, cihazın üç sensör ekseni boyunca ivmesini bildirir. Ölçülen ivme hem fiziksel ivmeyi (hız değişimi) hem de yer çekimini içerir. Ölçüm, sensörler_etkinlik_t.Acceleration'ın x, y ve z alanlarında raporlanır.
Tüm değerler SI birimlerindedir (m/s^2) ve cihazın üç sensör ekseni boyunca yerçekimi kuvveti çıkarılarak ivmesi ölçülür.
Aşağıda örnekleri bulabilirsiniz:
- Serbest düşüşteyken (x, y, z) normu 0'a yakın olmalıdır.
- Cihaz bir masanın üzerine düz bir şekilde yerleştirildiğinde ve sol tarafından sağa doğru itildiğinde x ivme değeri pozitif olur.
- Cihaz bir masanın üzerinde düz durduğunda z boyunca gelen ivme değeri +9,81 alo'dur. Bu değer, cihazın (0 m/s^2) eksi yer çekimi kuvveti (-9,81 m/s^2) anlamına gelir.
- Cihaz bir masanın üzerine düz bir şekilde yerleştirilip gökyüzüne doğru itildiğinde, ivme değeri +9,81'den büyük olur. Bu değer, cihazın ivmesi (+A m/s^2) eksi yerçekimi kuvveti (-9,81 m/s^2) değerine karşılık gelir.
Ölçümler aşağıdakiler kullanılarak kalibre edilir:
- Sıcaklık dengeleme
- Online önyargı kalibrasyonu
- Online ölçek kalibrasyonu
Akış sırasında değerlerde sıçramalar olmaması için önyargı ve ölçek kalibrasyonunun yalnızca sensör devre dışıyken güncellenmesi gerekir.
İvmeölçer, sensors_event_t.acceleration.status
aracılığıyla ölçümlerinin ne kadar doğru olmasını beklediğini de bildirir. Bu alanın olası değerleri hakkında daha fazla bilgi için
SensorManager
'nin
SENSOR_STATUS_*
sabitlerine bakın.
Ortam sıcaklığı
Raporlama modu: Değişimde
getDefaultSensor(SENSOR_TYPE_AMBIENT_TEMPERATURE)
uyanmayan bir sensör döndürür
Bu sensör, ortam (oda) sıcaklığını santigrat derece cinsinden sağlar.
Manyetik alan sensörü
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_MAGNETIC_FIELD)
uyanmayan bir sensör döndürür
SENSOR_TYPE_GEOMAGNETIC_FIELD == SENSOR_TYPE_MAGNETIC_FIELD
Manyetik alan sensörü (mıknatısölçer olarak da bilinir), üç sensör ekseni boyunca ölçülen ortam manyetik alanını bildirir.
Ölçüm, sensors_event_t.magnetic
öğesinin x, y ve z alanlarında raporlanır ve tüm değerler mikro Tesla (uT) cinsindendir.
Manyetometre, sensors_event_t.magnetic.status
aracılığıyla ölçümlerinin ne kadar doğru olmasını beklediğini de bildirir. Bu alanın olası değerleri hakkında daha fazla bilgi için
SensorManager
'ın
SENSOR_STATUS_*
sabitlerine bakın.
Ölçümler aşağıdakiler kullanılarak kalibre edilir:
- Sıcaklık dengeleme
- Fabrika (veya online) yumuşak demir kalibrasyonu
- Online sert demir kalibrasyonu
Jiroskop
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_GYROSCOPE)
uyanmayan bir sensör döndürür
Jiroskop sensörü, cihazın üç sensör ekseni etrafındaki dönme hızını bildirir.
Döndürme, saat yönünün tersine pozitiftir (sağ kuralı). Yani, x, y veya z eksenindeki pozitif bir konumdan bakarak orijinde konumlandırılmış bir cihazı gözlemleyen bir kullanıcı, cihaz saat yönünün tersine dönüyorsa pozitif dönme bildirir. Bunun pozitif rotasyonun standart matematiksel tanımı olduğunu ve yuvarlanmanın havacılık tanımına uygun olmadığını unutmayın.
Ölçüm, sensors_event_t.gyro
alanının x, y ve z alanlarında raporlanır ve tüm değerler saniye başına radyan (rad/s) cinsindendir.
Ölçümler aşağıdakiler kullanılarak kalibre edilir:
- Sıcaklık dengeleme
- Fabrika (veya online) ölçekli tazminat
- Online önyargı kalibrasyonu (kaymayı kaldırmak için)
Jiroskop, sensors_event_t.gyro.status
aracılığıyla ölçümlerinin ne kadar doğru olmasını beklediğini de bildirir. Bu alandaki olası değerler hakkında daha fazla bilgi için
SensorManager
SENSOR_STATUS_*
sabitlerine bakın.
Jiroskop, manyetometreler ve ivmeölçerler temel alınarak taklit edilemez. Aksi takdirde yerel tutarlılık ve yanıt verebilirlik azalır. Normal bir jiroskop çipine dayalı olmalıdır.
Nabız
Raporlama modu: Değişiklik olduğunda
getDefaultSensor(SENSOR_TYPE_HEART_RATE)
uyandırma olmayan bir sensör döndürür
Nabız sensörü, cihaza dokunan kişinin o anki nabzını bildirir.
Mevcut nabız (nabız/dakika) (BPM) cinsinden sensors_event_t.heart_rate.bpm
, sensörün durumu ise sensors_event_t.heart_rate.status
cinsinden bildirilir. Bu alanın olası değerleri hakkında daha fazla bilgi için
SensorManager
'nin
SENSOR_STATUS_*
sabitlerine bakın. Özellikle, ilk etkinleştirmeden sonra, cihazın vücutta olmadığı bilinmediği sürece ilk etkinliğin durum alanı SENSOR_STATUS_UNRELIABLE
olarak ayarlanmalıdır. Bu sensör değişiklikte olduğu için etkinlikler, yalnızca son etkinlikten bu yana heart_rate.bpm
veya heart_rate.status
değiştiğinde oluşturulur. Etkinlikler en fazla sampling_period
saniyede bir oluşturulur.
sensor_t.requiredPermission
her zaman SENSOR_PERMISSION_BODY_SENSORS
.
Hafif
Raporlama modu: Değişim olduğunda
getDefaultSensor(SENSOR_TYPE_LIGHT)
uyandırma olmayan bir sensör döndürür
Işık sensörü, mevcut aydınlatmayı SI lüks birimlerinde bildirir.
Ölçüm sensors_event_t.light
içinde raporlanır.
Yakınlık
Raporlama modu: Değişiklik olduğunda
Genellikle uyandırma sensörü olarak tanımlanır
getDefaultSensor(SENSOR_TYPE_PROXIMITY)
uyanma sensörü döndürür
Yakınlık sensörü, sensörden en yakın görünür yüzeye olan mesafeyi bildirir.
Android 4.4'e kadar yakınlık sensörleri her zaman uyandırıcı sensörlerdi ve yakınlıkta bir değişiklik algıladığında SoC'yi uyandırıyordu. Android 4.4'ten sonra, telefon araması yaparken ekranı açıp kapatmak için kullanılan bu sensörün uyandırma sürümünü ilk olarak uygulamanızı öneririz.
Ölçüm, sensors_event_t.distance
içinde santimetre cinsinden raporlanır. Bazı yakınlık sensörlerinin yalnızca ikili "yakın" veya "uzak" ölçümünü desteklediğini unutmayın.
Bu durumda sensör, "uzak" durumunda sensor_t.maxRange
değerini ve "yakın" durumunda sensor_t.maxRange
'ten düşük bir değer bildirir.
Basınç
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_PRESSURE)
uyandırma olmayan bir sensör döndürür
Basınç sensörü (barometre olarak da bilinir), atmosfer basıncını hektopaskal (hPa) cinsinden bildirir.
Okumalar
- Sıcaklık dengeleme
- Fabrika önyargısı kalibrasyonu
- Fabrika ölçeği kalibrasyonu
Barometre genellikle yükseklik değişikliklerini tahmin etmek için kullanılır. Mutlak yüksekliği tahmin etmek için referans olarak deniz seviyesi basıncı (hava durumuna göre değişir) kullanılmalıdır.
Bağıl nem
Raporlama modu: Değişiklik olduğunda
getDefaultSensor(SENSOR_TYPE_RELATIVE_HUMIDITY)
uyandırma olmayan bir sensör döndürür
Bağıl nem sensörü, ortamdaki bağıl nemi ölçer ve yüzde cinsinden bir değer döndürür.
Birleşik sensör türleri
Kompozit sensör, bir veya daha fazla fiziksel sensörden gelen verileri işleyerek ve/veya birleştirerek veri üretir. (Temel sensör olmayan tüm sensörlere karma sensör denir.) Kompozit sensörlere örnek olarak aşağıdakiler verilebilir:
- Adım dedektörü ve önemli hareket. Genellikle ivme ölçere dayanır ancak güç tüketimi ve doğruluk kabul edilebilirse diğer sensörlere de dayalı olabilir.
- İvme ölçer ve jiroskopa dayalı oyun rotasyon vektörü.
- Kalibre edilmemiş jiroskop, jiroskopun taban sensörüne benzer ancak sapma kalibrasyonu ölçümde düzeltmek yerine ayrı olarak raporlanır.
Temel sensörlerde olduğu gibi, birleşik sensörlerin özellikleri de nihai verilerinin özelliklerinden gelir. Örneğin, bir oyun dönüş vektörünün güç tüketimi muhtemelen ivme ölçer çipinin, jiroskop çipinin, verileri işleyen çipin ve verileri taşıyan otobüslerin güç tüketimlerinin toplamına eşittir. Başka bir örnek olarak, bir oyun dönüş vektörünün kayması hem fiziksel sensör özelliklerine hem de kalibrasyon algoritmasının kalitesine bağlıdır.
Aşağıdaki tabloda kullanılabilir kompozit sensör türleri listelenmiştir. Her kompozit sensör, bir veya daha fazla fiziksel sensörden gelen verileri kullanır. Yaklaşık sonuçlar elde etmek için diğer temel fiziksel sensörleri seçmekten kaçının. Bu sensörler kötü bir kullanıcı deneyimi sunar.
Sensör türü | Kategori | Temel fiziksel sensörler | Raporlama modu |
---|---|---|---|
Tutum |
İvme ölçer, jiroskop, manyetometre KULLANMAMALIDIR |
Sürekli |
|
Tutum |
İvme ölçer, manyetometre, jiroskop KULLANILMAMALIDIR |
Sürekli |
|
Bakış hareketi | Etkileşim |
Tanımsız |
Tek seferlik |
Tutum |
İvme ölçer, jiroskop |
Sürekli |
|
Kalibre edilmemiş |
Jiroskop |
Sürekli |
|
Etkinlik |
İvme ölçer, jiroskop (varsa) veya manyetometre (jiroskop yoksa) |
Sürekli |
|
Kalibre edilmemiş |
Manyetometre |
Sürekli |
|
Yön (desteği sonlandırılmış) |
Tutum |
İvme ölçer, manyetometre, jiroskop (varsa) |
Sürekli |
Etkileşim |
Tanımsız |
Tek seferlik |
|
Tutum |
İvme ölçer, manyetometre, jiroskop |
Sürekli |
|
Etkinlik |
İvme ölçer (veya çok düşük güç kullandığı sürece başka bir sensör) |
Tek seferlik |
|
Etkinlik |
İvme ölçer |
Değişiklik yapıldığında |
|
Etkinlik |
İvme ölçer |
Özel |
|
Etkinlik |
İvme ölçer |
Özel |
|
Etkileşim |
Tanımsız |
Tek seferlik |
= Düşük güç sensörü
Etkinlik karma sensörleri
Doğrusal hızlanma
Temel fiziksel sensörler: ivme ölçer ve (varsa) jiroskop (jiroskop yoksa manyetometre)
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_LINEAR_ACCELERATION)
uyandırma olmayan bir sensör döndürür
Doğrusal hızlanma sensörü, yerçekimi hariç olmak üzere cihazın sensör çerçevesindeki doğrusal hızını raporlar.
Çıkış, kavramsal olarak ivme ölçerin çıkışından yerçekimi sensörünün çıkışının çıkarılmasıdır. sensors_event_t.acceleration
öğesinin x, y ve z alanlarında m/s^2 cinsinden raporlanır.
Cihaz hareketsizken tüm eksenlerdeki ölçümler 0'a yakın olmalıdır.
Cihazda bir jiroskop varsa doğrusal hızlanma sensörü, jiroskop ve ivme ölçeri giriş olarak kullanmalıdır.
Cihazda jiroskop yoksa doğrusal hızlanma sensörü, giriş olarak ivme ölçeri ve manyetometreyi kullanmalıdır.
Önemli hareket
Temel fiziksel sensör: İvme ölçer (veya gücü düşük olduğu sürece başka bir sensör)
Raporlama modu: Tek çekim
Düşük güç
Bu sensörün yalnızca uyandırma sürümünü uygulayın.
getDefaultSensor(SENSOR_TYPE_SIGNIFICANT_MOTION)
uyandırma sensörü döndürür
Önemli bir hareket dedektörü, önemli bir hareket (kullanıcının konumunda değişikliğe yol açabilecek bir hareket) algıladığında tetiklenir.
Bu tür önemli hareketlere örnek olarak şunlar verilebilir:
- Yürüyüş veya bisiklet
- Hareket eden bir araba, otobüs veya trende oturmak
Önemli hareketi tetiklemeyen durumlara örnekler:
- Telefon cebinde ve kişi hareket etmiyor
- Telefon masanın üzerindeyken yakındaki trafik veya çamaşır makinesi nedeniyle masa biraz titriyor
Ana hatlarıyla, önemli hareket dedektörü, konum belirlemenin güç tüketimini azaltmak için kullanılır. Yer belirleme algoritmaları, cihazın statik olduğunu tespit ettiğinde düşük güç moduna geçebilir. Bu modda, kullanıcı konum değiştirirken cihazı uyandırmak için önemli hareketlere ihtiyaç duyulur.
Bu sensörün gücü düşük olmalıdır. Bu yöntem, güç tüketimini dengeler ve az miktarda yanlış negatif sonuca neden olabilir. Bunun birkaç nedeni vardır:
- Bu sensörün amacı güçten tasarruf etmektir.
- Kullanıcı hareket etmediği halde bir etkinliğin tetiklenmesi (yanlış pozitif) güç açısından maliyetli olduğundan bu durumdan kaçınılmalıdır.
- Kullanıcı taşınırken bir etkinliğin tetiklenmemesi (yanlış negatif), bu işlem tekrar tekrar yapılmadığı sürece kabul edilebilir. Kullanıcı 10 saniye yürüyorsa bu 10 saniye içinde bir etkinliğin tetiklenmemesi kabul edilir.
Her sensör etkinliği, sensors_event_t.data[0]
içinde 1
değerini bildirir.
Adım detektörü
Temel fiziksel sensör: İvme ölçer (+ düşük güçte olduğu sürece muhtemelen diğerleri)
Raporlama modu: Özel (atılan her adım için bir etkinlik)
Düşük güç
getDefaultSensor(SENSOR_TYPE_STEP_DETECTOR)
uyandırma olmayan bir sensör döndürür
Adım algılayıcı, kullanıcı her adım attığında bir etkinlik oluşturur.
sensors_event_t.timestamp
etkinliğinin zaman damgası, ayağın yere çarptığı zamana karşılık gelir ve ivmede yüksek bir varyasyon oluşturur.
Adım sayıcıya kıyasla adım algılayıcının gecikmesi daha düşük (iki saniyeden kısa) olmalıdır. Hem adım algılayıcı hem de adım sayıcı, kullanıcının yürüdüğünü, koştuğunu ve merdiven çıktığını algılar. Kullanıcı bisiklet sürerken, araba kullanırken veya başka bir araçtayken tetiklenmemelidir.
Bu sensör düşük güç tüketimine sahip olmalıdır. Yani adım algılama donanımda yapılamıyorsa bu sensör tanımlanmamalıdır. Özellikle adım algılayıcı etkinleştirildiğinde ve ivmeölçer etkinleştirilmediğinde yalnızca adımlar (her ivmeölçer okuması değil) kesintileri tetiklemelidir.
sampling_period_ns
, adım sayaçları üzerinde herhangi bir etkisi yoktur.
Her sensör etkinliği, sensors_event_t.data[0]
içinde 1
değerini bildirir.
Adım sayacı
Temel fiziksel sensör: İvme ölçer (+ düşük güçte olduğu sürece muhtemelen diğerleri)
Raporlama modu: Değişiklik olduğunda
Düşük güç
getDefaultSensor(SENSOR_TYPE_STEP_COUNTER)
uyandırma olmayan bir sensör döndürür
Adım sayacı, etkinleştirildiğinde kullanıcının son yeniden başlatmadan bu yana attığı adım sayısını bildirir.
Ölçüm, sensors_event_t.step_counter
içinde uint64_t
olarak raporlanır ve yalnızca sistem yeniden başlatıldığında sıfıra sıfırlanır.
Etkinliğin zaman damgası, söz konusu etkinliğin son adımının gerçekleştirildiği zamana ayarlanır.
Bir adımın süresinin anlamını öğrenmek için Adım algılayıcı sensör türüne bakın.
Adım sayıcı, adım algılayıcıya kıyasla daha yüksek gecikmeye (10 saniyeye kadar) sahip olabilir. Bu gecikme sayesinde bu sensörün doğruluk oranı yüksektir. Tam bir gün ölçümden sonraki adım sayısı, gerçek adım sayısının% 10'u dahilinde olmalıdır. Hem adım algılayıcı hem de adım sayıcı, kullanıcının yürüdüğünü, koştuğunu ve merdiven çıktığını algılar. Kullanıcı bisiklet sürerken, araba kullanırken veya başka bir araçtayken tetiklenmemelidir.
Donanım, dahili adım sayısının hiçbir zaman taşmamasını sağlamalıdır. Donanımın dahili sayıcısının minimum boyutu 16 bit olmalıdır. Yakında taşma olması durumunda (en fazla her ~2^16 adımda bir), sürücünün sayaç bakımını yapabilmesi için SoC uyandırılabilir.
Etkileşim bölümünde belirtildiği gibi, bu sensör çalışırken diğer sensörleri, özellikle de kullanılıyor olabilecek ivme ölçeri kesintiye uğratmaz.
Belirli bir cihaz bu çalışma modlarını destekleyemiyorsa bu sensör türü HAL tarafından bildirilmemelidir. Yani bu sensörün HAL'de "taklit edilmesi" kabul edilmez.
Bu sensör düşük güç tüketimine sahip olmalıdır. Yani adım algılama donanımda yapılamıyorsa bu sensör tanımlanmamalıdır. Özellikle adım sayacı etkinleştirildiğinde ve ivme ölçer etkinleştirilmediğinde yalnızca adımlar (ivme ölçer verileri değil) kesintileri tetiklemelidir.
Eğim algılayıcı
Temel fiziksel sensör: İvme ölçer (+ güç seviyesi düşük olduğu sürece diğerleri)
Raporlama modu: Özel
Düşük güç
Bu sensörün yalnızca uyanma sürümünü uygulayın.
getDefaultSensor(SENSOR_TYPE_TILT_DETECTOR)
uyanma sensörü döndürür
Eğilme algılayıcı, her eğilme etkinliği algılandığında bir etkinlik oluşturur.
Eğme etkinliğini, etkinleştirme veya sensör tarafından oluşturulan son olaydan bu yana 2 saniyelik pencere ortalama yer çekiminin en az 35 derece değişen yönüyle tanımlanır. Algoritma:
reference_estimated_gravity
= etkinleştirmeden sonraki ilk saniyede ivme ölçer ölçümlerinin ortalaması veya son yatırma etkinliğinin oluşturulduğu tahmini yerçekimidir.current_estimated_gravity
= son 2 saniyedeki ivmeölçer ölçümlerinin ortalaması.- Şu durumda tetikle:
angle(reference_estimated_gravity, current_estimated_gravity) > 35 degrees
Telefon yöneliminde değişiklik olmadan büyük ivmeler, eğme etkinliği tetiklememelidir. Örneğin, ortalama ivmenin açısı 35 dereceden fazla değişebilse bile araba kullanırken keskin bir dönüş veya güçlü bir ivmelenme, eğim etkinliği tetiklememelidir.
Bu sensör genellikle yalnızca bir ivmeölçerin yardımıyla uygulanır. Güç tüketimini önemli ölçüde artırmayan diğer sensörler de kullanılabilir. Bu, SoC'nin askıya alma moduna geçmesine izin vermesi gereken düşük güçlü bir sensördür. Bu sensörü HAL'de taklit etmeyin. Her sensör etkinliği, sensors_event_t.data[0]
içinde 1
bildirir.
Tutum karma sensörleri
Döndürme vektörü
Temel fiziksel sensörler: İvme ölçer, manyetometre ve jiroskop
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_ROTATION_VECTOR)
uyandırma olmayan bir sensör döndürür
Dönme vektörü sensörü, cihazın yönünü Doğu-Kuzey-Yukarı koordinat çerçevesine göre bildirir. Genellikle ivme ölçer, jiroskop ve manyetometre ölçümlerinin entegrasyonu ile elde edilir. Doğu-Kuzey-Yukarı koordinat sistemi, aşağıdaki durumlarda doğrudan ortonormal temel olarak tanımlanır:
- X doğuya işaret eder ve yere teğet geçer.
- Y kuzeyi gösterir ve yere teğet geçer.
- Z, gökyüz yönündedir ve zemine diktir.
Telefonun yönü, Doğu-Kuzey-Yukarı koordinatlarını telefonun koordinatlarıyla hizalamak için gereken rotasyonla temsil edilir. Yani, döndürmeyi dünya çerçevesine (X, Y, Z) uygulamak, bunları telefon koordinatlarıyla (x, y, z) hizalar.
Döndürme, telefonu referans cihaz yönünden (Doğu-Kuzey-Yukarıya hizalı) geçerli cihaz yönüne gitmek için bir eksen rot_axis
etrafında teta açısıyla döndürme şeklinde görülebilir. Dönme, birim dörtlü sayıların dört birimsiz x, y, z, w bileşeni olarak kodlanır:
sensors_event_t.data[0] = rot_axis.x*sin(theta/2)
sensors_event_t.data[1] = rot_axis.y*sin(theta/2)
sensors_event_t.data[2] = rot_axis.z*sin(theta/2)
sensors_event_t.data[3] = cos(theta/2)
Nerede:
rot_axis
nesnesinin x, y ve z alanları, dönme eksenini temsil eden birim uzunluktaki bir vektörün Doğu-Kuzey-Yukarı koordinatlarıdır.theta
, dönme açısıdır
Dörtlü sayı, birim dörtlü sayı olmalıdır: 1
normuna sahip olmalıdır.
Bu koşulun sağlanmaması, istemcinin kararsız davranmasına neden olur.
Ayrıca bu sensör, tahmini yön doğruluğunu bildirir:
sensors_event_t.data[4] = estimated_accuracy
(radyan cinsinden)
Başlık hatası, %95'ten fazlası için estimated_accuracy
olmalıdır. Bu sensör, ana yön değişikliği girişi olarak bir jiroskop kullanmalıdır.
Bu sensör, jiroskop kaymasını telafi etmek için ivme ölçer ve manyetometre girişini de kullanır ve yalnızca ivme ölçer ve manyetometre ile uygulanamaz.
Oyun dönüşümü vektörü
Temel fiziksel sensörler: İvme ölçer ve jiroskop (manyetometre yok)
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_GAME_ROTATION_VECTOR)
uyandırma olmayan bir sensör döndürür
Oyun dönüş vektörü sensörü, döndürme vektör sensörüne benzer ancak jeomanyetik alanı kullanmaz. Dolayısıyla, Y ekseni kuzeyi değil, başka bir referansı işaret eder. Bu referansın, jiroskopun Z ekseni etrafında kaymayla aynı büyüklük sırasında kaymasına izin verilir.
sensors_event_t.data[0-3]
değerinin nasıl ayarlanacağıyla ilgili ayrıntılar için Dönme vektörü sensörüne bakın. Bu sensör, tahmini yön doğruluğunu bildirmez:
sensors_event_t.data[4]
ayrılmıştır ve 0
olarak ayarlanmalıdır.
İdeal durumda, döndürülüp gerçek dünyadaki aynı yöne döndürülen bir telefon aynı oyun dönme vektörünü bildirmelidir.
Bu sensör bir jiroskop ve ivme ölçere dayalı olmalıdır. Manyetometreyi giriş olarak kullanmak dışında ya da jiroskop sapmasını tahmin etmek suretiyle dolaylı olarak da kullanamaz.
Yerçekimi
Temel fiziksel sensörler: İvme ölçer ve (varsa) jiroskop (jiroskop yoksa manyetometre)
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_GRAVITY)
uyandırma olmayan bir sensör döndürür
Yerçekimi sensörü, cihazın koordinatlarında yerçekiminin yönünü ve büyüklüğünü bildirir.
Yer çekimi vektör bileşenleri sensors_event_t.acceleration
öğesinin x, y ve z alanlarında m/s^2 cinsinden raporlanır.
Cihaz hareketsizken yerçekimi sensörünün çıkışı, ivme ölçerin çıkışıyla aynı olmalıdır. Dünya'da bu büyüklük yaklaşık 9, 8 m/sn^2'dir.
Cihazda jiroskop varsa yerçekimi sensörü, giriş olarak jiroskopu ve ivme ölçeri kullanmalıdır.
Cihazda jiroskop yoksa yerçekimi sensörü, giriş olarak ivme ölçeri ve manyetometreyi kullanmalıdır.
Jeomanyetik dönüş vektörü
Temel fiziksel sensörler: İvme ölçer ve manyetometre (jiroskop yok)
Raporlama modu: Sürekli
Düşük güç
getDefaultSensor(SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR)
uyandırma olmayan bir sensör döndürür
Coğrafi manyetik dönme vektörü, dönme vektörü sensörüne benzer ancak jiroskop yerine manyetometre kullanır.
Bu sensör bir manyetometreye dayalı olmalıdır. Jiroskop kullanılarak uygulanamaz ve jiroskop girişi bu sensör tarafından kullanılamaz.
sensors_event_t.data[0-4]
değerinin nasıl ayarlanacağıyla ilgili ayrıntılar için Dönme vektörü sensörüne bakın.
Tıpkı dönme vektör sensöründe olduğu gibi yön hatası, tahmini doğruluktan (sensors_event_t.data[4]
) %95 daha az olmalıdır.
Bu sensör düşük güçte olmalıdır, bu nedenle donanıma uygulanmalıdır.
Yön (desteği sonlandırıldı)
Temel fiziksel sensörler: İvme ölçer, manyetometre ve (varsa) jiroskop
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_ORIENTATION)
uyanmayan bir sensör döndürür
Not: Bu, Android SDK'da desteği sonlandırılan eski bir sensör türüdür. Daha net tanımlanmış dönme vektörü sensörüyle değiştirildi. Mümkün olduğunda yön sensörü yerine dönme vektörü sensörünü kullanın.
Yön sensörü, cihazın yönünü bildirir. Ölçümler, sensors_event_t.orientation
öğesinin x, y ve z alanlarında derece cinsinden raporlanır:
sensors_event_t.orientation.x
: azimut, Z ekseni etrafında manyetik kuzey yönü ile Y ekseni arasındaki açı (0<=azimuth<360
). 0=Kuzey, 90=Doğu, 180=Güney, 270=Batı.sensors_event_t.orientation.y
: eğim, X ekseni etrafında dönme (-180<=pitch<=180
), Z ekseni Y eksenine doğru hareket ettiğinde pozitif değerler alır.sensors_event_t.orientation.z
: Y ekseni etrafında dönme (-90<=roll<=90
), X ekseni Z eksenine doğru hareket ettiğinde pozitif değerlerle.
Geçmişteki nedenlerden dolayı yuvarlanma açısının saat yönünde pozitif olduğunu lütfen unutmayın. (Matematiksel olarak, saat yönünün tersine doğru pozitif olmalıdır):
Bu tanım, X ekseninin uçağın uzun kenarına (kuyruktan buruna) paralel olduğu havacılıkta kullanılan yaw, pitch ve roll'den farklıdır.
Yön sensörü, sensors_event_t.orientation.status
tarihine kadar okumalarının ne kadar doğru olmasını beklediğini de bildirir. Bu alanın olası değerleri hakkında daha fazla bilgi için
SensorManager
'ın
SENSOR_STATUS_*
sabitlerine bakın.
Kalibre edilmemiş sensörler
Kalibre edilmemiş sensörler daha fazla ham sonuç sağlar ve bir miktar sapma içerebilir ancak kalibrasyon aracılığıyla uygulanan düzeltmelerin daha az "atlama" içerdiğini de gösterir. Bazı uygulamalar daha sorunsuz ve güvenilir olmaları için, kalibre edilmemiş bu sonuçları tercih edebilir. Örneğin, bir uygulama kendi sensör birleştirme işlemini gerçekleştirmeye çalışıyorsa kalibrasyonların eklenmesi sonuçları bozabilir.
İvme ölçer kalibre edilmemiş
Temel fiziksel sensör: İvme ölçer
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_UNCALIBRATED)
uyandırma olmayan bir sensör döndürür
Kalibre edilmemiş bir ivme ölçer sensörü, cihazın üç sensör ekseni boyunca ivmesini herhangi bir sapma düzeltmesi olmadan (kalibre edilmemiş ölçümlere fabrika sapması ve sıcaklık telafisi uygulanır) ve sapma tahminiyle birlikte bildirir.
Tüm değerler SI birimlerindedir (m/s^2) ve sensors_event_t.uncalibrated_accelerometer
alanlarında bildirilir:
x_uncalib
: X ekseni boyunca ivme (yanlış hizalama telafisi olmadan)y_uncalib
: Y ekseni boyunca ivme (yanlış hizalama telafisi olmadan)z_uncalib
: Z ekseni boyunca ivme (yanlış hizalama telafisi olmadan)x_bias
: X ekseni boyunca tahmini önyargıy_bias
: Y ekseni boyunca tahmini önyargız_bias
: Z ekseninde tahmini sapma
Jiroskop kalibre edilmemiş
Temel fiziksel sensör: Jiroskop
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_GYROSCOPE_UNCALIBRATED)
uyandırma olmayan bir sensör döndürür
Kalibre edilmemiş bir jiroskop, yanlılık tahminiyle birlikte sensör eksenleri etrafındaki dönme hızını bunlara sapma dengelemesi uygulamadan bildirir. Tüm değerler radyan/saniye cinsindendir ve sensors_event_t.uncalibrated_gyro
alanlarında raporlanır:
x_uncalib
: X ekseni etrafındaki açısal hız (sapma telafisi olmadan)y_uncalib
: Y ekseni etrafındaki açısal hız (sürüklenim telafisi olmadan)z_uncalib
: Z ekseni etrafında açısal hız (kayma dengelemesi olmadan)x_bias
: X ekseni etrafında tahmini kaymay_bias
: Y ekseni etrafında tahmini kaymaz_bias
: Z ekseni etrafında tahmini kayma
Kavramsal olarak, kalibre edilmemiş ölçüm, kalibre edilmiş ölçüm ile yanlılık tahmininin toplamıdır: _uncalibrated = _calibrated + _bias
.
Yanlılık tahmini değişir değişmez x_bias
, y_bias
ve z_bias
değerlerinin sıçrama yapması beklenir ve bu değerler, zamanın geri kalanında sabit kalır.
Kullanılan koordinat sistemiyle ilgili ayrıntılar için jiroskop sensörünün tanımına bakın.
Ölçümlere fabrika kalibresyonu ve sıcaklık telafisi uygulanmalıdır. Ayrıca, x_bias
, y_bias
ve z_bias
'de makul tahminler raporlanabilmesi için jiroskop kayma tahmini de uygulanmalıdır. Uygulama, kaymayı tahmin edemiyorsa bu sensör uygulanmamalıdır.
Bu sensör mevcutsa karşılık gelen jiroskop sensörü de bulunmalıdır. Her iki sensör de aynı sensor_t.name
ve sensor_t.vendor
değerlerini paylaşmalıdır.
Manyetik alan kalibre edilmemiş
Temel fiziksel sensör: Manyetometre
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED)
uyandırma olmayan bir sensör döndürür
Kalibrasyon yapılmamış manyetik alan sensörü, ortam manyetik alanını sert demir kalibrasyon tahminiyle birlikte raporlar. Tüm değerler mikro Tesla (uT) cinsindendir ve sensors_event_t.uncalibrated_magnetic
alanlarında raporlanır:
x_uncalib
: X ekseni boyunca manyetik alan (sert demir katkısı olmadan)y_uncalib
: Y ekseni boyunca manyetik alan (sabit demir telafisi olmadan)z_uncalib
: Z ekseni boyunca manyetik alan (sert demir katkısı olmadan)x_bias
: X ekseni boyunca tahmini donanım yönü sapmasıy_bias
: Y ekseni boyunca tahmini donanım önyargısız_bias
: Z ekseninde tahmini sert demir sapması
Kavramsal olarak, kalibre edilmemiş ölçüm, kalibre edilmiş ölçümün ve önyargı tahmininin toplamıdır: _uncalibrated = _calibrated + _bias
.
Kalibre edilmemiş manyetometre, daha yüksek seviyeli algoritmaların kötü sert demir tahminini ele almasına olanak tanır. x_bias
, y_bias
ve z_bias
değerlerinin, donanım tahmini değişir değişmez sıçraması beklenir ve geri kalan süre boyunca sabit kalmalıdır.
Ölçümlere yumuşak demir kalibre ve sıcaklık dengelemesi uygulanmalıdır. Ayrıca, x_bias
, y_bias
ve z_bias
dillerinde makul tahminlerin raporlanabilmesi için sert demir tahmininin uygulanması gerekir. Uygulama, sapmayı tahmin edemiyorsa bu sensörü uygulanmamalıdır.
Bu sensör varsa ilgili manyetik alan sensörü de bulunmalıdır ve her iki sensör de aynı sensor_t.name
ve sensor_t.vendor
değerlerini paylaşmalıdır.
Menteşe açısı
Raporlama modu: Değişiklik olduğunda
getDefaultSensor(SENSOR_TYPE_HINGE_ANGLE)
uyandırma sensörünü döndürür
Menteşe açısı sensörü, cihazın iki ayrılmaz parçası arasındaki açıyı derece cinsinden ölçer. Bu sensör türü tarafından ölçülen bir menteşenin hareketinin, kullanıcının cihazla etkileşim kurma şeklini değiştirmesi beklenir (örneğin, ekranı açmak veya görüntülemek).
Etkileşim karma sensörleri
Bazı sensörler çoğunlukla kullanıcıyla etkileşimleri algılamak için kullanılır. Bu sensörlerin nasıl uygulanacağını tanımlamayız ancak düşük güçte olmaları gerekir ve kullanıcı deneyimi açısından kalitelerini doğrulamak cihaz üreticisinin sorumluluğundadır.
Uyandırma hareketi
Temel fiziksel sensörler: Tanımlanmamış (düşük güç kullanan her şey)
Raporlama modu: Tek çekim
Düşük Güç
Bu sensörün yalnızca uyanma sürümünü uygulayın.
getDefaultSensor(SENSOR_TYPE_WAKE_GESTURE)
uyandırma sensörü döndürür
Uyandırma hareketi sensörü, cihaza özgü bir harekete göre cihazın uyandırılmasını sağlar. Bu sensör tetiklendiğinde cihaz, güç düğmesine basılmış gibi davranarak ekranı açar. Bu davranış (bu sensör tetiklendiğinde ekranın açılması), kullanıcı tarafından cihaz ayarlarından devre dışı bırakılabilir. Ayarlardaki değişiklikler sensörün davranışını etkilemez. Yalnızca çerçevenin tetiklendiğinde ekranı açıp açmayacağını etkiler. Algılanacak gerçek hareket belirtilmez ve cihazın üreticisi tarafından seçilebilir.
Bu sensör, 7/24 etkin olacağından düşük güç tüketimine sahip olmalıdır.
Her sensör etkinliği, sensors_event_t.data[0]
içinde 1
değerini bildirir.
Alış hareketi
Temel fiziksel sensörler: Tanımlanmamış (düşük güç içeren her şey)
Raporlama modu: Tek seferlik
Düşük Güç
Bu sensörün yalnızca uyandırma sürümünü uygulayın.
getDefaultSensor(SENSOR_TYPE_PICK_UP_GESTURE)
uyandırma sensörü döndürür
Kaldırma hareketi sensörü, cihaz daha önce nerede olursa olsun (masa, cep, çanta) kaldırıldığında tetiklenir.
Her sensör etkinliği, sensors_event_t.data[0]
içinde 1
değerini bildirir.
Bakış hareketi
Temel fiziksel sensörler: Tanımlanmamış (düşük güç kullanan her şey)
Raporlama modu: Tek seferlik
Düşük güç
Bu sensörün yalnızca uyanma sürümünü uygulayın.
getDefaultSensor(SENSOR_TYPE_GLANCE_GESTURE)
uyanma sensörü döndürür
Bir bakış hareketi sensörü, ekranın kısa süreliğine açılmasını sağlayarak kullanıcının belirli bir harekete göre ekrandaki içeriğe göz atmasına olanak tanır. Bu sensör tetiklendiğinde cihaz, kullanıcının bildirimleri veya diğer içerikleri gözden geçirmesine olanak tanımak için ekranı kısa süreliğine açar. Bu sırada cihaz etkileşime açık olmayan bir durumda (uyku modu) kilitli kalır. Ardından ekran tekrar kapanır. Bu davranış (bu sensör tetiklendiğinde ekranın kısa süreliğine açılması), kullanıcı tarafından cihaz ayarlarından devre dışı bırakılabilir. Ayarlardaki değişiklikler sensörün davranışını etkilemez. Yalnızca çerçeve tetiklendiğinde ekranı kısa süreliğine açar. Algılanacak gerçek hareket belirtilmez ve cihazın üreticisi tarafından seçilebilir.
Bu sensör, 7/24 etkin olacağından düşük güç tüketimine sahip olmalıdır.
Her sensör etkinliği, sensors_event_t.data[0]
içinde 1
değerini bildirir.
Sınırlı eksenli IMU sensörleri
Android 13'te bulunan sınırlı eksenli IMU sensörleri, üç eksenin de (x, y, z) kullanılamadığı kullanım alanlarını destekleyen sensörlerdir. Android'deki standart IMU türleri (ör.
SENSOR_TYPE_ACCELEROMETER
ve
SENSOR_TYPE_GYROSCOPE
),
üç eksenin de desteklendiğini varsayar. Ancak tüm form faktörleri ve cihazlar 3 eksenli ivmeölçerleri ve 3 eksenli jiroskopları desteklemez.
İvme ölçerin sınırlı eksenleri
Temel fiziksel sensörler: İvme ölçer
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES)
uyandırma olmayan bir sensör döndürür
Sınırlı eksenli ivme ölçer sensörü, TYPE_ACCELEROMETER
ile eşdeğerdir ancak bir veya iki eksenin desteklenmediği durumları destekler.
Sensör tarafından bildirilen son üç sensör etkinliği değeri x, y ve z eksenleri için ivme değerinin desteklenip desteklenmediğini temsil eder. 1.0
değeri eksenin desteklendiğini, 0
değeri ise desteklenmediğini belirtir. Cihaz üreticileri, desteklenen eksenleri derleme
Cihaz üreticileri, kullanılmayan eksenlerin ivme değerlerini tanımlanmamış değerler yerine 0
olarak ayarlamalıdır.
Jiroskop sınırlı eksenleri
Alttaki fiziksel sensörler: Jiroskop
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_GYROSCOPE_LIMITED_AXES)
uyandırma olmayan bir sensör döndürür
Jiroskopun sınırlı eksen sensörü, TYPE_GYROSCOPE
ile eşdeğerdir ancak bir veya iki eksenin desteklenmediği durumları destekler.
Sensör tarafından bildirilen son üç sensör etkinliği değeri x, y ve z eksenleri için açısal hız değerinin desteklenip desteklenmediğini temsil eder. 1.0
değeri, eksenin desteklendiğini, 0
değeri ise desteklenmediğini gösterir. Cihaz üreticileri, desteklenen eksenleri derleme
Cihaz üreticileri, kullanılmayan eksenlerin açısal hız değerlerini 0
olarak ayarlamalıdır.
İvmeölçer sınırlı eksenleri kalibre edilmemiş
Temel fiziksel sensörler: İvme ölçer
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED)
uyanmayan bir sensör döndürür
Sınırlı eksenleri kalibre edilmemiş bir ivme ölçer sensörü, TYPE_ACCELEROMETER_UNCALIBRATED
ile eşdeğerdir ancak bir veya iki eksenin desteklenmediği durumları destekler.
Sensör tarafından raporlanan son üç sensör etkinliği değeri, x, y ve z eksenleri için ivme ve önyargı değerlerinin desteklenip desteklenmediğini gösterir. 1.0
değeri eksenin desteklendiğini, 0
değeri ise desteklenmediğini belirtir. Cihaz üreticileri, desteklenen eksenleri derleme
Cihaz üreticileri, kullanılmayan eksenlerin ivme ve önyargı değerlerini 0
olarak ayarlamalıdır.
Jiroskopun sınırlı eksenleri kalibre edilmemiş
Temel fiziksel sensörler: Jiroskop
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED)
uyandırma olmayan bir sensör döndürür
Sınırlı eksenli jiroskop eksenlerine sahip olmayan sensörler TYPE_GYROSCOPE_UNCALIBRATED
ile eşdeğerdir ancak bir veya iki eksenin desteklenmediği durumları destekler.
Sensör tarafından raporlanan son üç sensör etkinliği değeri, x, y ve z eksenleri için açısal hız ve kayma değerlerinin desteklenip desteklenmediğini gösterir. 1.0
değeri eksenin desteklendiğini, 0
değeri ise desteklenmediğini belirtir. Cihaz üreticileri, desteklenen eksenleri derleme sırasında tanımlar ve değerler çalışma zamanı boyunca değişmez.
Cihaz üreticileri, kullanılmayan eksenlerin açısal hız ve kayma değerlerini 0
olarak ayarlamalıdır.
Kompozit sınırlı eksen IMU
Temel fiziksel sensörler: 3 eksenli ivme ölçer, 3 eksenli jiroskop, kalibre edilmemiş 3 eksenli ivme ölçer ve kalibre edilmemiş 3 eksenli jiroskop sensörlerinin herhangi bir kombinasyonu.
Raporlama modu: Sürekli
Kompozit sınırlı eksen IMU sensörü, sınırlı eksen IMU sensörüne eşdeğerdir ancak HAL'de desteklenmek yerine 3 eksenli sensör verilerini eşdeğer sınırlı eksen varyantlarına dönüştürür. Bu karma sensörler yalnızca otomotiv cihazlarda etkindir.
Aşağıdaki tabloda, standart 3 eksenli ivme ölçerden birleşik sınırlı eksenli ivme ölçere dönüşüm örneği gösterilmektedir.
SENSOR_TYPE_ACCELEROMETER için SensorEvent Değerleri | Örnek SENSOR_TYPE_ACCELEROMETER SensorEvent | Birleşik SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES SensorEvent |
---|---|---|
values[0] | -0,065 |
-0,065 |
değerler[1] | 0,078 |
0,078 |
values[2] | 9,808 |
9,808 |
değerler[3] | Yok |
1,0 |
values[4] | Yok |
1,0 |
values[5] | Yok |
1,0 |
Otomotiv sensörleri
Otomotiv kullanım alanlarını destekleyen sensörler.
Başlık
Temel fiziksel sensörler: GPS, manyetometre, ivme ölçer ve jiroskopun herhangi bir kombinasyonu.
Raporlama modu: Sürekli
getDefaultSensor(SENSOR_TYPE_HEADING)
uyanmayan bir sensör döndürür
Android 13'ten itibaren kullanılabilen yön sensörü, cihazın gerçek kuzeye göre gösterdiği yönü derece cinsinden ölçer. Yön sensörü iki SensorEvent
değeri içerir.
Biri ölçülen cihaz başlığı, diğeri ise sağlanan başlık değerinin doğruluğu içindir.
Bu sensör tarafından raporlanan yön değerleri 0.0
(dahil) ile 360.0
(hariç) arasında olmalıdır. 0
kuzeyi, 90
doğuyu, 180
güneyi ve 270
batıyı gösterir.
Bu sensörün doğruluğu yüzde 68 güven düzeyinde tanımlanır. Temel dağılımın Gauss normal olduğu durumlarda doğruluk bir standart sapmadır. Örneğin, yön sensörü 60 derecelik bir yön değeri ve 10 derecelik bir doğruluk değeri döndürüyorsa gerçek yönün 50 derece ile 70 derece arasında olma olasılığı yüzde 68'dir.