Cómo calibrar el acelerómetro para su juego html5

Por defecto, el juego acelerómetro HTML5 asume la posición neutral de la posición perfectamente horizontal - es decir, el dispositivo está en posición plana sobre una mesa. Sin embargo, estos son los dispositivos móviles, y los jugadores a menudo se desea tener la posición neutra estar en otro lugar.

Video: como configurar la sensivilidad del acelerometro

La técnica básica para la calibración de los controles de inclinación es hacer un seguimiento de un valor de desplazamiento para HACHA y . Cuando el usuario elige para volver a calibrar, los valores de desplazamiento se cambian para hacer una nueva posición neutral. Aquí está el código correspondiente:

accel.html

De alguna manera lo que necesita para activar la calibración. Para este ejemplo, se agrega un botón de calibración básica. Así es como funciona:

  1. Añadir offsetAX y offsetAY variables.

    Estas dos variables indican cuánto posición neutra del dispositivo es diferente de la actitud estándar plana-en-la-mesa. Comience las variables a valor cero.

  2. Añadir un botón de calibración.

    Video: Tutorial Quadcopter: Como calibrar el compás de la ardupilot APM 2.5 para quadcopter

    Para este ejemplo, el usuario puede recalibrar haciendo clic en un botón.

  3. Compruebe si hay una pulsación de botón.

    Una función se creó para leer pulsar ningún botón.

  4. Si se pulsa el botón, obtener nuevos valores de offset.

    Cuando el botón está activo, encontrar la corriente HACHA y Los valores solicitándolos a la Accel objeto.

  5. Reste los desplazamientos hacha y en cada cuadro.

    Antes de cualquier otro cálculo, restar el offsetAX de HACHA y offsetAY de . Esta muy eficaz para establecer la nueva posición neutra a sin embargo se estableció el dispositivo de la última vez que se hace clic en el botón.

Aunque un botón de calibración es muy fácil de implementar, a veces la calibración se realiza automáticamente. Si lo prefiere, simplemente determinar offsetAX y offsetAY durante el en eso() función, y la actitud del dispositivo durante el en eso() función se convierte en la actitud por defecto. Esto no permite al usuario restablecer la calibración, pero evita saturar la pantalla con un botón rara vez se utiliza.

Artículos Relacionados