Sensör türleri

Bu bölümde sensör eksenleri, temel sensörler ve bileşik sensörler (aktivite, tutum, 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 çerçevede ifade edilir.

Mobil cihaz eksenleri

Sensor API yalnızca ekranın doğal yönüne göre çalışır (Cihazın ekran yönü değiştiğinde eksenler değiştirilmez).

Mobil cihazlar için sensör API'sinin koordinat sistemi

1. şekil. Sensor API tarafından kullanılan koordinat sistemi (mobil cihaza göre)

Otomotiv: akslar

Android Automotive uygulamalarında eksenler, araç gövde çerçevesine göre tanımlanır. Araç referans çerçevesinin başlangıç noktası, arka aksın merkezidir. Araç referans çerçevesi şu şekilde yönlendirilir:

  • X ekseni sağa doğru bakar ve aracın simetri düzlemine dik olan yatay bir düzlem üzerindedir.
  • Y ekseni ileriye doğru bakar ve yatay bir düzlem üzerindedir.
Otomotiv cihazları için sensör API'sinin koordinat sistemi

Şekil 2. Sensor API tarafından kullanılan koordinat sistemi (bir otomotiv cihazına göre)

Araç referans çerçevesi, sağ el koordinat sistemidir. Bu nedenle, Z ekseni yukarıyı gösterir.

Referans çerçevesinin Z ekseni yer çekimiyle hizalanır. Bu nedenle, X ekseni ve Y ekseni yataydır. Bu nedenle, Y ekseni her zaman ön aks üzerinden geçmeyebilir.

Temel sensörler

Temel sensör türleri, temsil ettikleri fiziksel sensörlere göre adlandırılır. Bu sensörler, verileri diğer sensörlerden elde eden bileşik sensörlerin aksine tek bir fiziksel sensörden aktarır. Temel sensör türlerine örnek olarak şunlar verilebilir:

  • SENSOR_TYPE_ACCELEROMETER
  • SENSOR_TYPE_GYROSCOPE
  • SENSOR_TYPE_MAGNETOMETER

Ancak temel sensörler, temel fiziksel sensörlerle aynı değildir ve bunlarla karıştırılmamalıdır. Temel sensörden gelen veriler, fiziksel sensörün ham çıkışı değildir. Bunun nedeni, düzeltmelerin (ör. sapma telafisi ve sıcaklık telafisi) uygulanmasıdır.

Örneğin, temel bir sensörün özellikleri aşağıdaki kullanım alanlarında temel fiziksel sensörün özelliklerinden farklı olabilir:

  • 1 derece/saniye sapma aralığına sahip bir jiroskop çipi.
    • Fabrika kalibrasyonundan sonra sıcaklık telafisi ve sapma telafisi uygulandığında Android sensörünün gerçek sapması azalır ve sapmanın 0,01 derece/sn'nin altında olacağı garanti edilen bir noktaya düşebilir.
    • Bu durumda, temel sensörün veri sayfasında 1 derece/saniye yazmasına rağmen Android sensörünün 0, 01 derece/saniyenin 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, Android barometre sensöründen veri toplamanın gerçek güç maliyeti çok daha yüksek olabilir (örneğin, 1.000 uW).
    • Bu durumda, Android sensörünün güç tüketimi, barometre çipinin uçlarında ölçülen güç tüketimi 100 uW olsa bile 1.000 uW olarak kabul edilir.
  • Kalibre edildiğinde 100 uW tüketen ancak kalibre edilirken daha fazla güç tüketen bir manyetometre.
    • Kalibrasyon rutini için jiroskopun etkinleştirilmesi gerekebilir. Bu işlem 5.000 uW güç tüketir. Ayrıca, başka bir algoritmanın çalıştırılması da 900 uW güç tüketir.
    • 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çüdür ve HAL aracılığıyla sensörün statik özelliklerinde raporlanır.

İvme ölçer

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER) uyandırma sensörü 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, sensors_event_t.acceleration öğesinin x, y ve z alanlarında bildirilir.

Tüm değerler SI birimlerindedir (m/s^2) ve cihazın üç sensör ekseni boyunca yer çekimi kuvveti çıkarılarak ölçülen ivmesini ifade eder.

Örnekler:

  • Serbest düşme sırasında (x, y, z) normu 0'a yakın olmalıdır.
  • Cihaz bir masanın üzerinde düz dururken sol tarafından sağa doğru itildiğinde x ivme değeri pozitiftir.
  • Cihaz bir masanın üzerinde düz durduğunda z ekseni boyunca ivme değeri, cihazın ivmesine (0 m/sn^2) yer çekimi kuvveti (-9,81 m/sn^2) çıkarılarak elde edilen +9,81 alo olur.
  • Cihaz bir masanın üzerinde düz dururken gökyüzüne doğru itildiğinde ivme değeri +9,81'den büyük olur. Bu değer, cihazın ivmesine (+A m/sn^2) yer çekimi kuvvetinin (-9,81 m/sn^2) eklenmesiyle elde edilir.

Okumalar şu yöntemlerle kalibre edilir:

  • Sıcaklık dengeleme
  • Online önyargı kalibrasyonu
  • Online ölçek kalibrasyonu

Akış sırasında değerlerde ani değişiklikler olmaması için sapma ve ölçek kalibrasyonu yalnızca sensör devre dışıyken güncellenmelidir.

Ayrıca, ivmeölçer sensors_event_t.acceleration.status aracılığıyla okumalarının ne kadar doğru olacağını tahmin ettiğ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şiklik üzerine

getDefaultSensor(SENSOR_TYPE_AMBIENT_TEMPERATURE) uyandırma sensörü olmayan 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) uyandırma sensörü olmayan bir sensör döndürür

SENSOR_TYPE_GEOMAGNETIC_FIELD == SENSOR_TYPE_MAGNETIC_FIELD

Manyetik alan sensörü (manyetometre olarak da bilinir), ortamdaki manyetik alanı üç sensör ekseni boyunca ölçülen şekilde bildirir.

Ölçüm, sensors_event_t.magnetic alanının x, y ve z alanlarında raporlanır ve tüm değerler mikrotesla (uT) cinsindendir.

Manyetometre, okumalarının ne kadar doğru olacağını da sensors_event_t.magnetic.status aracılığıyla bildirir. Bu alanın olası değerleri hakkında daha fazla bilgi için SensorManager'nin SENSOR_STATUS_* sabitlerine bakın.

Okumalar şu yöntemlerle kalibre edilir:

  • Sıcaklık dengeleme
  • Fabrikada (veya online) yumuşak demir kalibrasyonu
  • Online sert demir kalibrasyonu

Jiroskop

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_GYROSCOPE) uyandırma sensörü olmayan bir sensör döndürür

Jiroskop sensörü, cihazın üç sensör ekseni etrafındaki dönüş hızını bildirir.

Dönüş, saat yönünün tersine doğru pozitiftir (sağ el kuralı). Yani x, y veya z ekseninde pozitif bir konumdan orijinde konumlandırılmış bir cihaza bakan bir gözlemci, cihaz saat yönünün tersine dönüyormuş gibi görünüyorsa pozitif dönüş bildirir. Bunun, pozitif dönüşün standart matematiksel tanımı olduğunu ve yuvarlanmanın havacılık tanımıyla uyuşmadığını unutmayın.

Ölçüm, sensors_event_t.gyro öğesinin x, y ve z alanlarında bildirilir ve tüm değerler saniyede radyan (rad/sn) cinsindendir.

Okumalar şu yöntemlerle kalibre edilir:

  • Sıcaklık dengeleme
  • Fabrika (veya online) ölçekli tazminat
  • Online önyargı kalibrasyonu (sapmayı gidermek için)

Ayrıca jiroskop, sensors_event_t.gyro.status aracılığıyla okumalarının ne kadar doğru olacağını tahmin ettiğini de bildirir. Bu alanın olası değerleri hakkında daha fazla bilgi için SensorManager'nin SENSOR_STATUS_* sabitlerine bakın.

Jiroskop, manyetometreler ve ivmeölçerler temel alınarak taklit edilemez. Aksi takdirde, yerel tutarlılığı ve yanıt verme hızı düşer. Normal bir jiroskop çipine dayanmalıdır.

Nabız

Raporlama modu: Değişiklik üzerine

getDefaultSensor(SENSOR_TYPE_HEART_RATE) uyandırma sensörü olmayan bir sensör döndürür

Nabız sensörü, cihaza dokunan kişinin mevcut nabzını bildirir.

Dakikadaki nabız sayısı (nabız/dk.) olarak ölçülen mevcut nabız sensors_event_t.heart_rate.bpm, sensörün durumu ise sensors_event_t.heart_rate.status olarak bildirilir. Bu alanın olası değerleri hakkında daha fazla bilgi için SensorManager'nin SENSOR_STATUS_* sabitlerine bakın. Özellikle ilk etkinleştirmede, cihazın vücutta olmadığı bilinmiyorsa ilk etkinliğin durum alanı SENSOR_STATUS_UNRELIABLE olarak ayarlanmalıdır. Bu sensörde değişiklik olduğunda, etkinlikler yalnızca heart_rate.bpm veya heart_rate.status son etkinlikten bu yana değiştiğinde oluşturulur. Etkinlikler en hızlı sampling_period aralıklarla oluşturulur.

Çerçeve, uyumluluğu korumak için sensor_t.requiredPermission'ı otomatik olarak uygun izinle geçersiz kılar. Çerçeve, Android 16 ve sonraki sürümlerde SENSOR_PERMISSION_READ_HEART_RATE iznini, Android 15 ve önceki sürümlerde ise SENSOR_PERMISSION_BODY_SENSORS iznini kullanır.

Açık

Raporlama modu: Değişiklikte

getDefaultSensor(SENSOR_TYPE_LIGHT) uyandırma sensörü olmayan bir sensör döndürür

Işık sensörü, mevcut aydınlatmayı SI lüks birimleriyle bildirir.

Ölçüm sensors_event_t.light içinde raporlanır.

Yakınlık

Raporlama modu: Değişiklikte

Genellikle uyandırma sensörü olarak tanımlanır.

getDefaultSensor(SENSOR_TYPE_PROXIMITY) uyanma sensörünü döndürür

Yakınlık sensörü, sensör ile en yakın görünür yüzey arasındaki mesafeyi bildirir.

Android 4.4'e kadar olan sürümlerde yakınlık sensörleri her zaman uyandırma sensörleriydi ve yakınlıkta bir değişiklik algıladığında SoC'yi uyandırıyordu. Android 4.4'ten sonra, telefon görüşmesi yaparken ekranı açıp kapatmak için kullanılan sensör olduğundan bu sensörün uyandırma sürümünü önce uygulamanızı öneririz.

Ölçüm, sensors_event_t.distance içinde santimetre cinsinden bildirilir. Bazı yakınlık sensörlerinin yalnızca ikili "yakın" veya "uzak" ölçümünü desteklediğini unutmayın. Bu durumda sensör, sensor_t.maxRange değerini "uzak" durumunda, sensor_t.maxRange değerinden daha düşük bir değeri ise "yakın" durumunda bildirir.

Basınç

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_PRESSURE) uyandırma sensörü olmayan bir sensör döndürür

Bir basınç sensörü (barometre olarak da bilinir), atmosferik basıncı hektopaskal (hPa) cinsinden bildirir.

Okumalar,

  • Sıcaklık dengeleme
  • Fabrika önyargısı kalibrasyonu
  • Fabrika ölçeği kalibrasyonu

Barometre, yükseklik değişikliklerini tahmin etmek için sıklıkla kullanılır. Mutlak yüksekliği tahmin etmek için deniz seviyesi basıncı (hava durumuna göre değişir) referans olarak kullanılmalıdır.

Bağıl nem

Raporlama modu: Değişiklikte

getDefaultSensor(SENSOR_TYPE_RELATIVE_HUMIDITY) uyandırma sensörü olmayan bir sensör döndürür

Bağıl nem sensörü, bağıl ortam havası nemini ölçer ve yüzde olarak bir değer döndürür.

Bileşik sensör türleri

Birleşik sensör, bir veya daha fazla fiziksel sensörden gelen verileri işleyerek ve/veya birleştirerek veri oluşturur. (Temel sensör olmayan tüm sensörlere bileşik sensör adı verilir.) Bileşik sensörlere örnek olarak şunlar verilebilir:

Temel sensörlerde olduğu gibi, bileş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 veri yollarının güç tüketimlerinin toplamına eşittir. Başka bir örnek olarak, bir oyunun dönüş vektörünün kayması, kalibrasyon algoritmasının kalitesine olduğu kadar fiziksel sensör özelliklerine de bağlıdır.

Aşağıdaki tabloda, kullanılabilen bileşik sensör türleri listelenmiştir. Her bileşik sensör, bir veya daha fazla fiziksel sensörden gelen verilere dayanır. Sonuçları tahmin 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

Oyun döndürme vektörü

Attitude

İvme ölçer, jiroskop, manyetometre KULLANILMAMALIDIR.

Sürekli

Jeomanyetik dönme vektörü Düşük
     güçlü sensör

Attitude

İvme ölçer, manyetometre, jiroskop KULLANILMAMALIDIR.

Sürekli

Göz atma hareketi Düşük güç sensörü

Etkileşim

Tanımsız

Tek görevli

Gravity

Attitude

İvme ölçer, jiroskop (varsa) veya manyetometre (jiroskop yoksa)

Sürekli

Jiroskop kalibre edilmemiş

Kalibre edilmemiş

Jiroskop

Sürekli

Doğrusal hızlanma

Etkinlik

İvme ölçer, jiroskop (varsa) veya manyetometre (jiroskop yoksa)

Sürekli

Manyetik alan kalibre edilmemiş

Kalibre edilmemiş

Manyetometre

Sürekli

Yön (kullanımdan kaldırıldı)

Attitude

İvme ölçer, manyetometre, jiroskop (varsa)

Sürekli

Alma hareketi Düşük güç sensörü

Etkileşim

Tanımsız

Tek görevli

Dönüş vektörü

Attitude

İvme ölçer, manyetometre, jiroskop (varsa)

Sürekli

Önemli hareket Düşük güç sensörü

Etkinlik

İvme ölçer (veya çok düşük güç tükettiği sürece başka bir sensör)

Tek görevli

Adım sayacı Düşük güç sensörü

Etkinlik

İvme ölçer

Değişiklik yapıldığında

Adım algılayıcı Düşük güç sensörü

Etkinlik

İvme ölçer

Özel

Eğim algılayıcı Düşük güç sensörü

Etkinlik

İvme ölçer

Özel

Uyandırma hareketi Düşük güç sensörü

Etkileşim

Tanımsız

Tek görevli

Düşük güç sensörü = Düşük güç sensörü

Etkinlik bileşik sensörleri

Doğrusal hızlanma

Temel fiziksel sensörler: İvme ölçer ve (varsa) jiroskop (veya jiroskop yoksa manyetometre)

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_LINEAR_ACCELERATION) uyandırma sensörü olmayan bir sensör döndürür

Doğrusal ivme sensörü, yer çekimi hariç olmak üzere cihazın sensör çerçevesindeki doğrusal ivmesini bildirir.

Çıkış, kavramsal olarak ivme ölçerin çıkışından yerçekimi sensörünün çıkışının çıkarılmasıyla elde edilir. sensors_event_t.acceleration'nın x, y ve z alanlarında m/sn^2 olarak bildirilir.

Cihaz hareketsizken tüm eksenlerdeki okumalar 0'a yakın olmalıdır.

Cihazda jiroskop varsa doğrusal ivme sensörü giriş olarak jiroskop ve ivme ölçeri kullanmalıdır.

Cihazda jiroskop yoksa doğrusal ivme sensörü giriş olarak ivme ölçeri ve manyetometreyi kullanmalıdır.

Önemli hareket

Temel fiziksel sensör: İvme ölçer (veya düşük güç tükettiği sürece başka bir sensör)

Raporlama modu: Tek seferlik

Düşük güç

Bu sensörün yalnızca uyandırma sürümünü uygulayın.

getDefaultSensor(SENSOR_TYPE_SIGNIFICANT_MOTION) uyanma sensörünü döndürür

Önemli hareket algılayıcı, önemli bir hareket algıladığında tetiklenir: Kullanıcının konumunda değişikliğe yol açabilecek bir hareket.

Bu tür önemli önerilere örnek olarak şunlar verilebilir:

  • Yürüyüş veya bisiklet
  • Hareket eden bir araba, otobüs veya trende oturma

Önemli hareketi tetiklemeyen durumlara örnekler:

  • Telefon cebinizdeyken hareket etmemek
  • Telefon masanın üzerinde ve yakındaki trafik veya çamaşır makinesi nedeniyle masa biraz titriyor.

Ana hatlarıyla, önemli hareket dedektörü, konum belirleme işleminin güç tüketimini azaltmak için kullanılır. Yerelleştirme algoritmaları, cihazın statik olduğunu algıladığında düşük güç moduna geçebilir. Bu modda, kullanıcı konum değiştirdiğinde cihazı uyandırmak için önemli hareketlere ihtiyaç duyulur.

Bu sensör düşük güç tüketmelidir. Bu ayar, güç tüketimiyle ilgili bir dengelemeye yol açar ve bu da az sayıda yanlış negatif sonuçlanabilir. Bu değişiklik birkaç nedenden dolayı yapılıyor:

  • Bu sensörün amacı güç tasarrufu sağlamaktır.
  • Kullanıcı hareket etmediğinde bir etkinliğin tetiklenmesi (yanlış pozitif) güç açısından maliyetli olduğundan bu durumdan kaçınılmalıdır.
  • Kullanıcı hareket ederken bir etkinliğin tetiklenmemesi (yanlış negatif), tekrarlı olarak yapılmadığı sürece kabul edilebilir. Kullanıcı 10 saniye boyunca yürüdüyse bu 10 saniye içinde bir etkinliğin tetiklenmemesi kabul edilemez.

Her sensör etkinliği, sensors_event_t.data[0] içinde 1 bildirir.

Adım detektörü

Temel fiziksel sensör: İvme ölçer (+ düşük güç tüketimi 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 sensörü olmayan bir sensör döndürür

Adım algılayıcı, kullanıcı her adım attığında bir etkinlik oluşturur.

Etkinliğin zaman damgası sensors_event_t.timestamp, ayağın yere değdiği ve hızlanmada yüksek bir varyasyonun oluştuğu zamana karşılık gelir.

Adım sayacına kıyasla adım algılayıcının daha düşük bir gecikmesi (iki saniyeden az) olmalıdır. Adım algılayıcı ve adım sayacı, kullanıcının yürüdüğünü, koştuğunu ve merdiven çıktığını algılar. Kullanıcı bisiklete binerken, araba kullanırken veya başka araçlardayken tetiklenmemelidir.

Bu sensör düşük güç tüketmelidir. Yani adım algılama donanım üzerinde 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 kesintileri tetiklemelidir (her ivmeölçer okuması değil).

sampling_period_ns, adım dedektörlerini etkilemez.

Her sensör etkinliği, sensors_event_t.data[0] içinde 1 bildirir.

Adım sayacı

Temel fiziksel sensör: İvme ölçer (+ düşük güç tüketimi olduğu sürece muhtemelen diğerleri)

Raporlama modu: Değişiklikte

Düşük güç

getDefaultSensor(SENSOR_TYPE_STEP_COUNTER) uyandırma sensörü olmayan bir sensör döndürür

Adım sayacı, etkinleştirildikten sonra son yeniden başlatmadan bu yana kullanıcının attığı adım sayısını bildirir.

Ölçüm, uint64_t sensors_event_t.step_counter olarak raporlanır ve yalnızca sistem yeniden başlatıldığında sıfırlanır.

Etkinliğin zaman damgası, söz konusu etkinlik için son adımın atıldığı zamana ayarlanır.

Adım zamanının anlamı için Adım algılayıcı sensör türüne bakın.

Adım sayacı, adım dedektörüne kıyasla daha yüksek bir gecikmeye (10 saniyeye kadar) sahip olabilir. Bu gecikme sayesinde sensör yüksek doğruluk oranına sahiptir. Tam gün ölçümden sonraki adım sayısı, gerçek adım sayısının% 10'u içinde olmalıdır. Adım dedektörü ve adım sayacı, kullanıcının yürüdüğünü, koştuğunu ve merdiven çıktığını algılar. Kullanıcı bisiklete binerken, araba kullanırken veya başka araçlardayken tetiklenmemelidir.

Donanım, dahili adım sayısının hiçbir zaman taşmamasını sağlamalıdır. Donanımın dahili sayacının minimum boyutu 16 bit olmalıdır. Yaklaşan taşma 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ımda olabilecek ivmeölçeri kesintiye uğratmamalıdır.

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 edilemez.

Bu sensör düşük güç tüketmelidir. Yani adım algılama donanım üzerinde yapılamıyorsa bu sensör tanımlanmamalıdır. Özellikle adım sayacı etkinleştirildiğinde ve ivme ölçer etkinleştirilmediğinde, kesmeleri yalnızca adımlar tetiklemelidir (ivme ölçer verileri değil).

Eğim algılayıcı

Temel fiziksel sensör: İvme ölçer (+ düşük güç tüketimi olduğu sürece muhtemelen diğerleri)

Raporlama modu: Özel

Düşük güç

Bu sensörün yalnızca uyandırma sürümünü uygulayın.

getDefaultSensor(SENSOR_TYPE_TILT_DETECTOR) uyanma sensörünü döndürür

Eğilme algılayıcı, eğilme etkinliği her algılandığında bir etkinlik oluşturur.

Eğme etkinliği, sensörün etkinleştirilmesinden veya son etkinliğinden bu yana 2 saniyelik pencere ortalaması yer çekiminin en az 35 derece değişmesiyle tanımlanır. Algoritma şu şekildedir:

  • reference_estimated_gravity = Etkinleştirmeden sonraki ilk saniyede ivmeölçer ölçümlerinin ortalaması veya son eğme etkinliği oluşturulduğunda tahmini yerçekimi.
  • current_estimated_gravity = Son 2 saniyedeki ivmeölçer ölçümlerinin ortalaması.
  • Aşağıdaki durumlarda tetiklenir: angle(reference_estimated_gravity, current_estimated_gravity) > 35 degrees

Telefonun yönü değişmeden gerçekleşen büyük hızlanmalar eğim etkinliğini tetiklememelidir. Örneğin, ortalama ivme açısı 35 dereceden fazla değişse bile araba sürerken keskin bir dönüş veya güçlü bir hızlanma, eğilme etkinliğini tetiklememelidir. Genellikle bu sensör 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 girmesine olanak tanıması gereken düşük güç tüketen bir sensördür. Bu sensörü HAL'de taklit etmeyin. Her sensör etkinliği, 1 cinsinden sensors_event_t.data[0] değerini bildirir.

Tutum birleşik sensörleri

Dönüş vektörü

Temel fiziksel sensörler: İvme ölçer, manyetometre ve jiroskop

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_ROTATION_VECTOR) uyanma sensörü olmayan bir değer döndürür.

Dönüş vektörü sensörü, cihazın Doğu-Kuzey-Yukarı koordinat çerçevesine göre yönünü bildirir. Genellikle ivme ölçer, jiroskop ve manyetometre okumalarının entegrasyonuyla elde edilir. Doğu-Kuzey-Yukarı koordinat sistemi, şu şekilde tanımlanan doğrudan bir ortonormal temeldir:

  • X doğuya bakar ve yere teğettir.
  • Y noktası kuzeyi gösterir ve yere teğettir.
  • Z, gökyüzüne doğru bakar ve yere diktir.

Telefonun yönü, Doğu-Kuzey-Yukarı koordinatlarını telefonun koordinatlarıyla hizalamak için gereken dönüşle gösterilir. Yani, döndürme işlemini dünya çerçevesine (X,Y,Z) uygulamak, bunları telefon koordinatlarıyla (x,y,z) hizalar.

Dönme, referans (Doğu-Kuzey-Yukarı hizalı) cihaz yönünden mevcut cihaz yönüne geçmek için telefonun bir eksen rot_axis etrafında teta açısıyla döndürülmesi olarak görülebilir. Dönüş, birim kuaterniyonun 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 öğesinin x, y ve z alanları, dönme eksenini temsil eden bir birim uzunluklu vektörün Doğu-Kuzey-Yukarı koordinatlarıdır.
  • theta, dönme açısıdır.

Dördey değeri birim dördey değeridir: Normu 1 olmalıdır. Bunun sağlanmaması, istemcinin düzensiz davranışına neden olur.

Ayrıca bu sensör, tahmini bir yön doğruluğu bildirir:

sensors_event_t.data[4] = estimated_accuracy (radyan cinsinden)

Başlık hatası, zamanın% 95'inden daha az olmalıdır.estimated_accuracy Bu sensör, ana yön değişikliği girişi olarak 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 kullanılarak uygulanamaz.

Oyun döndürme 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 sensörü olmayan bir sensör döndürür

Oyun rotasyon vektörü sensörü, rotasyon vektörü sensörüne benzer ancak jeomanyetik alanı kullanmaz. Bu nedenle Y ekseni kuzeyi değil, başka bir referansı gösterir. Bu referansın, jiroskopun Z ekseni etrafındaki kaymasıyla aynı büyüklük sırasına göre kaymasına izin verilir.

sensors_event_t.data[0-3]'ı ayarlama hakkında ayrıntılı bilgi için Dönüş vektörü sensörüne bakın. Bu sensör, tahmini yön doğruluğunu bildirmiyor: sensors_event_t.data[4] ayrılmıştır ve 0 olarak ayarlanmalıdır.

İdeal durumda, döndürülüp aynı gerçek dünya yönüne geri getirilen bir telefon aynı oyun döndürme vektörünü bildirmelidir.

Bu sensör, jiroskop ve ivme ölçere dayanmalıdır. Jiroskop sapmasının tahmini yoluyla dolaylı olarak kullanılmasının yanı sıra, giriş olarak manyetometre kullanamaz.

Yerçekimi

Temel fiziksel sensörler: İvme ölçer ve (varsa) jiroskop (veya jiroskop yoksa manyetometre)

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_GRAVITY) uyandırma sensörü 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/sn^2 cinsinden bildirilir.

Cihaz dinlenirken yerçekimi sensörünün çıkışı, ivme ölçerin çıkışıyla aynı olmalıdır. Dünya'da bu değer yaklaşık 9, 8 m/s^2'dir.

Cihazda jiroskop varsa yer çekimi sensörü giriş olarak jiroskop 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önme 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 sensörü olmayan bir sensör döndürür

Jeomanyetik dönme vektörü, dönme vektörü sensörüne benzer ancak manyetometre kullanır ve jiroskop içermez.

Bu sensör, manyetometre tabanlı olmalıdır. Jiroskop kullanılarak uygulanamaz ve bu sensör tarafından jiroskop girişi kullanılamaz.

sensors_event_t.data[0-4]'ı ayarlama hakkında ayrıntılı bilgi için Dönüş vektörü sensörüne bakın.

Dönüş vektörü sensöründe olduğu gibi, yön hatası da% 95 oranında tahmini doğruluk değerinden (sensors_event_t.data[4]) küçük olmalıdır.

Bu sensörün düşük güç tüketmesi gerektiğinden donanımda uygulanması gerekir.

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) uyandırma sensörü olmayan bir sensör döndürür

Not: Bu, Android SDK'da desteği sonlandırılmış eski bir sensör türüdür. Daha net tanımlanmış olan 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 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çıdır (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ğerlerle.
  • sensors_event_t.orientation.z: Y ekseni etrafında dönme, yuvarlanma (-90<=roll<=90), X ekseni Z eksenine doğru hareket ettiğinde pozitif değerlerle.

Tarihi nedenlerden dolayı yuvarlanma açısının saat yönünde pozitif olduğunu lütfen unutmayın. (Matematiksel olarak konuşursak saat yönünün tersine doğru pozitif olmalıdır):

Cihaza göre yönü gösteren resim

3.Şekil Cihaza göre yön

Bu tanım, havacılıkta kullanılan sapma, eğim ve yuvarlanmadan farklıdır. Havacılıkta X ekseni, uçağın uzun kenarı boyunca (kuyruktan buruna) uzanır.

Yön sensörü, okumalarının ne kadar doğru olacağını sensors_event_t.orientation.status aracılığıyla da bildirir. Bu alanın olası değerleri hakkında daha fazla bilgi için SensorManager'nı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 yoluyla uygulanan düzeltmelerden kaynaklanan daha az "atlama" da içerir. Bazı uygulamalar, daha sorunsuz ve güvenilir oldukları için bu kalibre edilmemiş sonuçları tercih edebilir. Örneğin, bir uygulama kendi sensör füzyonunu yapmaya ç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 sensörü 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) bir 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 (bias telafisi olmadan)
  • y_uncalib: Y ekseni boyunca ivme (sapma telafisi olmadan)
  • z_uncalib: Z ekseni boyunca ivme (sapma telafisi olmadan)
  • x_bias: X ekseni boyunca tahmini önyargı
  • y_bias: Y ekseni boyunca tahmini önyargı
  • z_bias: Z ekseni boyunca tahmini önyargı

Jiroskop kalibre edilmemiş

Temel fiziksel sensör: Jiroskop

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_GYROSCOPE_UNCALIBRATED) uyandırma sensörü olmayan bir sensör döndürür

Kalibre edilmemiş bir jiroskop, sensör eksenleri etrafındaki dönüş hızını, bu eksenlere sapma telafisi uygulamadan ve sapma tahminiyle birlikte bildirir. Tüm değerler radyan/saniye cinsindendir ve sensors_event_t.uncalibrated_gyro alanlarında raporlanır:

  • x_uncalib: X ekseni etrafında açısal hız (sapma telafisi olmadan)
  • y_uncalib: Y ekseni etrafında açısal hız (sürüklenme telafisi olmadan)
  • z_uncalib: Z ekseni etrafında açısal hız (sürüklenme telafisi olmadan)
  • x_bias: X ekseni etrafındaki tahmini sapma
  • y_bias: Y ekseni etrafındaki tahmini sapma
  • z_bias: Z ekseni etrafındaki tahmini sapma

Kavramsal olarak, kalibre edilmemiş ölçüm, kalibre edilmiş ölçüm ile önyargı tahmininin toplamıdır: _uncalibrated = _calibrated + _bias.

x_bias, y_bias ve z_bias değerlerinin, önyargı tahmini değişir değişmez artması ve geri kalan sürede sabit kalması beklenir.

Kullanılan koordinat sistemiyle ilgili ayrıntılar için jiroskop sensörünün tanımına bakın.

Ölçümlere fabrika kalibrasyonu ve sıcaklık telafisi uygulanmalıdır. Ayrıca, x_bias, y_bias ve z_bias içinde makul tahminler raporlanabilmesi için jiroskop kayması tahmini uygulanmalıdır. Uygulama, sapmayı tahmin edemiyorsa bu sensör uygulanmamalıdır.

Bu sensör varsa ilgili jiroskop sensörü de olmalı ve 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 sensörü olmayan bir sensör döndürür

Kalibre edilmemiş bir manyetik alan sensörü, ortamdaki manyetik alanı ve sert demir kalibrasyon tahminini birlikte bildirir. Tüm değerler mikrotesla (uT) cinsindendir ve sensors_event_t.uncalibrated_magnetic alanlarında raporlanır:

  • x_uncalib: manyetik alan (sert demir telafisi olmadan) X ekseni boyunca
  • y_uncalib: Y ekseni boyunca manyetik alan (sert demir telafisi olmadan)
  • z_uncalib: Z ekseni boyunca manyetik alan (sert demir telafisi olmadan)
  • x_bias: X ekseni boyunca tahmini sabit demir sapması
  • y_bias: Y ekseni boyunca tahmini sabit demir önyargısı
  • z_bias: Z ekseni boyunca tahmini sabit demir önyargısı

Kavramsal olarak, kalibre edilmemiş ölçüm, kalibre edilmiş ölçüm ile önyargı tahmininin toplamıdır: _uncalibrated = _calibrated + _bias.

Kalibre edilmemiş manyetometre, daha üst düzey algoritmaların kötü sert demir tahminini işlemesine olanak tanır. x_bias, y_bias ve z_bias değerlerinin, sert demir tahmini değiştiği anda yükselmesi ve geri kalan sürede sabit kalması beklenir.

Ölçümlere yumuşak demir kalibrasyonu ve sıcaklık dengelemesi uygulanmalıdır. Ayrıca, x_bias, y_bias ve z_bias içinde makul tahminler raporlanabilmesi için sert demir tahmini uygulanmalıdır. Uygulama, sapmayı tahmin edemiyorsa bu sensör uygulanmamalıdır.

Bu sensör varsa ilgili manyetik alan sensörü de olmalı 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şiklikte

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üyle ölçülen bir menteşenin hareketi, kullanıcının cihazla etkileşim kurma şeklini değiştirmesi beklenir. Örneğin, ekranı açarak veya göstererek.

Etkileşim için birleşik sensörler

Bazı sensörler çoğunlukla kullanıcıyla etkileşimleri algılamak için kullanılır. Bu sensörlerin nasıl uygulanması gerektiğini tanımlamıyoruz ancak sensörlerin düşük güçte olması gerekir ve kullanıcı deneyimi açısından kalitelerini doğrulamak cihaz üreticisinin sorumluluğundadır.

Uyandırma hareketi

Temel fiziksel sensörler: Tanımsız (düşük güç kullanan herhangi bir ş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_WAKE_GESTURE) uyanma sensörünü 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ış (sensör tetiklendiğinde ekranın açılması) kullanıcı tarafından cihaz ayarlarında devre dışı bırakılabilir. Ayarlardaki değişiklikler sensörün davranışını etkilemez. Yalnızca çerçeve tetiklendiğinde ekranın açılıp açılmayacağını etkiler. Algılanacak gerçek hareket belirtilmez ve cihazın üreticisi tarafından seçilebilir.

Bu sensör, 7/24 etkinleştirilebileceği için düşük güç tüketmelidir.

Her sensör etkinliği, sensors_event_t.data[0] içinde 1 bildirir.

Alma hareketi

Temel fiziksel sensörler: Tanımsız (düşük güç kullanan herhangi bir ş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) uyanma sensörünü döndürür

Cihaz, daha önce nerede olursa olsun (masa, cep, çanta) elinize alındığında, elinize alma hareketi sensörü tetiklenir.

Her sensör etkinliği, sensors_event_t.data[0] içinde 1 bildirir.

Bir Bakışta hareketi

Temel fiziksel sensörler: Tanımsız (düşük güç kullanan herhangi bir ş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_GLANCE_GESTURE) uyanma sensörünü 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 cihaz etkileşimli olmayan bir durumda (uyku) kilitliyken bildirimlere veya diğer içeriklere göz atmasına olanak tanımak için ekranı anlık olarak açar, ardından ekran tekrar kapanır. Bu davranış (sensör tetiklendiğinde ekranı kısa süreliğine açma) kullanıcı tarafından cihaz ayarlarından devre dışı bırakılabilir. Ayarlardaki değişiklikler sensörün davranışını etkilemez. Yalnızca tetiklendiğinde ekranın kısa süreliğine açılıp açılmayacağını etkiler. Algılanacak gerçek hareket belirtilmez ve cihazın üreticisi tarafından seçilebilir.

Bu sensör, 7/24 etkinleştirilebileceği için düşük güç tüketmelidir. Her sensör etkinliği, 1 cinsinden sensors_event_t.data[0] değerini bildirir.

Sınırlı eksenli IMU sensörleri

Android 13'ten itibaren kullanılabilir. Sınırlı eksenli IMU sensörleri, üç eksenin (x, y, z) tamamının 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çer sınırlı eksenleri

Temel fiziksel sensörler: İvme ölçer

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES) uyandırma sensörü 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 gösterir. 1.0 değeri, eksenin desteklendiğini, 0 değeri ise desteklenmediğini gösterir. Cihaz üreticileri, desteklenen eksenleri derleme zamanında tanımlar ve değerler çalışma zamanında değişmez.

Cihaz üreticileri, kullanılmayan eksenlerin ivme değerlerini tanımlanmamış değerler yerine 0 olarak ayarlamalıdır.

Jiroskop sınırlı eksenleri

Temel fiziksel sensörler: Jiroskop

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_GYROSCOPE_LIMITED_AXES) uyandırma sensörü olmayan bir sensör döndürür

Sınırlı eksenli bir jiroskop 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 gösterir. 1.0 değeri, eksenin desteklendiğini, 0 değeri ise desteklenmediğini gösterir. Cihaz üreticileri, desteklenen eksenleri derleme zamanında tanımlar ve değerler çalışma zamanında değişmez.

Cihaz üreticileri, kullanılmayan eksenlerin açısal hız değerlerini 0 olarak ayarlamalıdır.

İvmeölçer sınırlı eksenler kalibre edilmemiş

Temel fiziksel sensörler: İvme ölçer

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED) uyandırma sensörü olmayan bir sensör döndürür

Eksenleri sınırlı bir ivme ölçer, kalibre edilmemiş sensör TYPE_ACCELEROMETER_UNCALIBRATED 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 ve sapma değerlerinin desteklenip desteklenmediğini gösterir. 1.0 değeri, eksenin desteklendiğini, 0 değeri ise desteklenmediğini gösterir. Cihaz üreticileri, desteklenen eksenleri derleme zamanında tanımlar ve değerler çalışma zamanında değişmez.

Cihaz üreticileri, kullanılmayan eksenlerin ivme ve önyargı değerlerini 0 olarak ayarlamalıdır.

Jiroskop sınırlı eksenler kalibre edilmemiş

Temel fiziksel sensörler: Jiroskop

Raporlama modu: Sürekli

getDefaultSensor(SENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED) uyandırma sensörü olmayan bir sensör döndürür

Sınırlı eksenli, kalibre edilmemiş bir jiroskop sensörü TYPE_GYROSCOPE_UNCALIBRATED 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 ve kayma değerlerinin desteklenip desteklenmediğini gösterir. 1.0 değeri, eksenin desteklendiğini, 0 değeri ise desteklenmediğini gösterir. Cihaz üreticileri, desteklenen eksenleri derleme zamanında tanımlar ve değerler çalışma zamanında değişmez.

Cihaz üreticileri, kullanılmayan eksenlerin açısal hız ve sapma değerlerini 0 olarak ayarlamalıdır.

Birleşik sınırlı eksenli IMU

Temel fiziksel sensörler: 3 eksenli ivme ölçer, 3 eksenli jiroskop, 3 eksenli ivme ölçer (kalibre edilmemiş) ve 3 eksenli jiroskop (kalibre edilmemiş) sensörlerinin herhangi bir kombinasyonu.

Raporlama modu: Sürekli

Sınırlı eksenli bir bileşik IMU sensörü, sınırlı eksenli bir IMU sensörüne eşdeğerdir ancak HAL'de desteklenmek yerine 3 eksenli sensör verilerini eşdeğer sınırlı eksenli varyantlara dönüştürür. Bu bileşik sensörler yalnızca otomotiv cihazlarında etkinleştirilir.

Aşağıdaki tabloda, standart 3 eksenli bir ivmeölçerden bileşik sınırlı eksenli bir ivmeölçere dönüştürme örneği gösterilmektedir.

SENSOR_TYPE_ACCELEROMETER için SensorEvent Değerleri Örnek SENSOR_TYPE_ACCELEROMETER SensorEvent Composite SENSOR_TYPE_ACCELEROMETER_LIMITED_AXES SensorEvent
values[0]

-0,065

-0,065

values[1]

0,078

0,078

values[2]

9.808

9.808

values[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) uyandırma sensörü olmayan bir sensör döndürür

Android 13'ten itibaren kullanılabilen yön sensörü, cihazın gerçek kuzeye göre hangi yöne baktığını derece cinsinden ölçer. Başlık sensörü iki SensorEvent değeri içeriyor. Biri ölçülen cihaz başlığı, diğeri ise sağlanan başlık değerinin doğruluğu için.

Bu sensör tarafından bildirilen 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 %68 güvenle 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ığı %68'dir.