Catatan: Orientasi sensor yang usang dalam Android 2.2 ( API Level 8) .
Posisi sensor berguna untuk menentukan posisi fisik perangkat di bingkai dunia acuan. Sebagai contoh, Anda dapat menggunakan sensor medan geomagnetik dalam kombinasi dengan accelerometer untuk menentukan posisi perangkat relatif terhadap magnetik Kutub Utara. Anda juga dapat menggunakan sensor orientasi (atau metode yang serupa berbasis sensor orientasi) untuk menentukan posisi perangkat dalam bingkai aplikasi acuan anda. Sensor posisi yang tidak biasanya digunakan untuk memantau pergerakan perangkat atau gerakan, seperti goyang, miring, atau dorong.
Sensor medan magnetik bumi dan sensor orientasi kembali array multi-dimensi nilai sensor untuk setiap SensorEvent. Sebagai contoh, sensor orientasi memberikan nilai kekuatan medan geomagnetik untuk masing-masing dari tiga sumbu koordinat selama acara sensor tunggal. Demikian juga, sensor orientasi memberikan azimuth (yaw), nada, dan nilai-nilai gulungan selama peristiwa sensor tunggal. Sensor jarak memberikan nilai tunggal untuk setiap acara sensor.
Menggunakan Game Rotasi Vector Sensor
Rotasi permainan sensor vector identik dengan Rotation Vector Sensor, kecuali ia tidak menggunakan medan magnetik bumi. Oleh karena sumbu Y tidak menunjuk ke utara melainkan untuk beberapa referensi lainnya. Referensi yang diperbolehkan untuk melayang dengan urutan yang sama besarnya seperti giroskop hanyut sekitar Z sumbu.
Karena rotasi permainan sensor vector tidak menggunakan medan magnet, rotasi relatif lebih akurat, dan tidak dipengaruhi oleh perubahan medan magnet. Gunakan sensor ini dalam permainan jika Anda tidak peduli tentang di mana utara adalah, dan vektor rotasi normal tidak sesuai dengan kebutuhan Anda karena ketergantungan pada medan magnet.
Kode berikut menunjukkan kepada Anda bagaimana untuk mendapatkan contoh dari permainan standar sensor vector rotasi:
private SensorManager mSensorManager; private Sensor mSensor; ... mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_GAME_ROTATION_VECTOR);
Menggunakan Proximity Sensor
Proximity Sensor atau Sensor jarak memungkinkan Anda untuk menentukan seberapa jauh suatu objek dari perangkat. Kode berikut menunjukkan kepada Anda bagaimana untuk mendapatkan sebuah instance dari sensor jarak default:
private SensorManager mSensorManager; private Sensor mSensor; ... mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);Sensor jarak biasanya digunakan untuk menentukan seberapa jauh kepala seseorang dari muka perangkat handset (misalnya, ketika pengguna membuat atau menerima panggilan telepon). Kebanyakan sensor jarak mengembalikan jarak absolut, dalam cm, tetapi beberapa return hanya nilai dekat dan jauh. Kode berikut menunjukkan kepada Anda bagaimana menggunakan sensor jarak:
public class SensorActivity extends Activity implements SensorEventListener { private SensorManager mSensorManager; private Sensor mProximity; @Override public final void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Get an instance of the sensor service, and use that to get an instance of // a particular sensor. mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); } @Override public final void onAccuracyChanged(Sensor sensor, int accuracy) { // Do something here if sensor accuracy changes. } @Override public final void onSensorChanged(SensorEvent event) { float distance = event.values[0]; // Do something with this sensor data. } @Override protected void onResume() { // Register a listener for the sensor. super.onResume(); mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL); } @Override protected void onPause() { // Be sure to unregister the sensor when the activity pauses. super.onPause(); mSensorManager.unregisterListener(this); } }Catatan: Beberapa sensor jarak return nilai-nilai biner yang mewakili "dekat" atau "jauh." Dalam hal ini, sensor biasanya laporan rentang nilai maksimum di negara yang jauh dan nilai yang lebih rendah di negara dekat. Biasanya, nilai yang jauh adalah nilai > 5 cm, tetapi ini bisa berbeda dari sensor ke sensor. Anda dapat menentukan jangkauan maksimum sensor dengan menggunakan metode getMaximumRange ().
Sumber: http://developer.android.com/guide/topics/sensors/sensors_position.html
Tidak ada komentar:
Posting Komentar