Leer datos del acelerometro:
El acelerometro en android es solo uno de diferentes sensores que podemos encontrar en nuestros dispositivos.
Este se compone de 3 ejes, X , Y y Z los cuales cada uno genera una entrada que se mide en gravedad.
A continuaciòn este codigo registra entradas del acelerometro y lo muestra en pantalla.
Codigo en actividad principal:
package com.practivaA2; import java.util.List; import android.app.Activity; import android.content.pm.ActivityInfo; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView; public class PracticaAcelerometro2Activity extends Activity implements SensorEventListener{ /** Called when the activity is first created. */ TextView x,y,z; private Sensor mAccelerometer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); x = (TextView)findViewById(R.id.xID); y = (TextView)findViewById(R.id.yID); z = (TextView)findViewById(R.id.zID); this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } protected void onResume() { super.onResume(); SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE); List<Sensor> sensors = sm.getSensorList(Sensor.TYPE_ACCELEROMETER); if (sensors.size() > 0) //dispositivo android tiene acelerometro { sm.registerListener(this, sensors.get(0), SensorManager.SENSOR_DELAY_GAME); } } protected void onPause() { SensorManager mSensorManager=(SensorManager) getSystemService(SENSOR_SERVICE); mSensorManager.unregisterListener(this, mAccelerometer); super.onPause(); } protected void onStop() { SensorManager mSensorManager=(SensorManager) getSystemService(SENSOR_SERVICE); mSensorManager.unregisterListener(this, mAccelerometer); super.onStop(); } @Override public void onSensorChanged(SensorEvent event) { this.x.setText("X = "+event.values[SensorManager.DATA_X]); this.y.setText("Y = "+event.values[SensorManager.DATA_Y]); this.z.setText("Z = "+event.values[SensorManager.DATA_Z]); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }
Codigo en main.xml (Layout)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/xID" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/yID" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> <TextView android:id="@+id/zID" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout>
dt y
Una pregunta, como cambio de ID de un acelerómetro en arduino, y como cambiar de lectura de esclavo a maestro en conexión en paralelo de dos acelerómetros.
de antemano gracias
Gracias, sirve de mucho =)
Buen Contenido, me gusto mucho,
Me pregunto como se podra jalar cada dato del textview de x,y Y z para convertirlos a datos de RGB y asi cambiar el color de pantalla segun su posicion?
Buenas, hay algún método para coger los datos del acelerómetro cada x tiempo aunque no hayan cambiado los valores.
Un saludo
me gustaria preguntarles si con este programa puedo hacer un proyecto como una casa domotica, un ejemplo como apagar un foco desde mi celular o pc por fa ayudenme
hola que tal?
como e haría para cambiar le la rotación,es que en mi cel la rotación está alterada ejm si lo volteo a modo horizontal en la imagen se vera alrevez que hay que cambiar para que quede bien?? gracias y saludos
Hola saludos…!!
Mira me gusto mucho tu vídeo y quisiera sabes si me podrías poner un ejemplo para poder implementarlo en un juego ya busque mucho en la red pero no encuentro nada. te agradecería que me pudieras ayudar con eso.
graciasss…!!
Buenas tardes Jorge.
Te felicito y agradezco por los tutoriales de Youtube y tu página web. Son muy útiles.
Quisiera pedir tu colaboración de ser posible, ya que tengo que crear una aplicación consistente en un decelerómetro (mide la aceleración negativa o frenado) para smarthphone con android. Necesito crearla para medir la eficiencia y desequilibrio existentes en el frenado de los vehículos.
¿Podrías ayudarme con eso?
Puedo pasarte las fórmulas que sean necesarias.
Desde ya muchas gracias.
Saludos cordiales,
Mirian Garay