El sensor de giróscopo mide la velocidad rotacional de un dispositivo entre los tres ejes primarios, veremos como calcular esa velocidad de forma instantánea en nuestros dispositivos Windows Phone.
1. 9/26/2011
Agenda
Sensores en Windows Phone 7 Mango
El giroscopio
Consideraciones de diseño
Cómo utilizar el giroscopio
Sensores en Windows Phone 7 Sensores en Windows Phone 7
Mango Mango
Windows Phone 7 soporta varios sensores que Las APIs de acceso a los sensores heredan de la
determinan la orientación y movimiento del dispositivo clase SensorBase<TSensorReading>
Modos de entrada de datos del usuario 3 sensores en Windows Phone 7 Mango
Brújula
Acelerómetro
Giroscopio
¡¡No todos los dispositivos tienen todos los
sensores!!
1
2. 9/26/2011
El giroscopio Consideraciones de diseño
Determina la velocidad rotacional del dispositivo en Si el dispositivo no se mueve, la velocidad será 0 en
los ejes X, Y, Z. todos los ejes
Los valores obtenidos del sensor del giroscopio determinan la La velocidad se mide en radianes/seg
orientación del dispositivo en el espacio
2*π*radianes representa una rotación completa
No todos los dispositivos están equipados con Windows Phone Marketplace mostrará una
advertencia al usuario cuando desee instalar una
giroscopio
aplicación que requiere sensores no presentes en el
Comprobar si existe el sensor antes de utilizarlo
dispositivo
Cómo utilizar el giroscopio Cómo utilizar el giroscopio
if (gyroscope == null) Frecuencia con la que se
{ reciben datos del giroscopio
(2 ms por defecto)
Gyroscope gyroscope;; Comprobar siempre gyroscope = new Gyroscope();
que el dispositivo tiene gyroscope.TimeBetweenUpdates =
if(!Gyroscope.IsSupported) giroscopio TimeSpan.FromMilliseconds(20);
{ gyroscope.CurrentValueChanged += new
EventHandler<SensorReadingEventArgs<GyroscopeReading>>(gyrosc
MessageBox.Show(“Dispositivo sin giroscopio”); Acción a realizar cada vez
ope_CurrentValueChanged);
} que se reciben datos del
gyroscope.Start();
} giroscopio
. . . Inicia el giroscopio
if (gyroscope != null) Recuperación y
{ procesado de datos
del giroscopio
gyroscope.Stop();
}
Para el giroscopio
2
3. 9/26/2011
Cómo utilizar el giroscopio Recursos
Centro de desarrollo de WP7 en MSDN
http://msdn.microsoft.com/es-es/windowsphone/default.aspx
void gyroscope_CurrentValueChanged(object sender,
SensorReadingEventArgs<GyroscopeReading> e) AppHub
{ http://create.msdn.com/
//Procesar los datos leídos del sensor
}
Windows Phone Developer Blog
http://windowsteamblog.com/windows_phone/b/wpdev
MobileNUG
Información recuperada: Velocidad rotacional alrededor de cada eje http://www.mobilenug.es
•RotationRate del dispositivo (en radianes/seg)
•Timestamp
Forums
http://forums.create.msdn.com/forums/
Momento exacto de la lectura de datos
3