Paso 4: Java código de fuente
Si usted no está interesado en el código de java, puede omitir este paso; sin embargo, al menos tendrá que introducir su personal PubNub claves en el código para que funcione! El código fuente puede ser visto en GitHub.
Las importaciones siguientes son necesarias. Si éstos resultan en errores, probablemente no tienen las bibliotecas SDK instaladas correctamente.
Es crucial que usted haga su proyecto implementar Runnable para que podamos tener toda la actividad de salto funciona en su propio hilo. Empezaremos por establecer el proyecto principal, una implementación de la interfaz Runnable e inicialización de variables globales que utilizaremos más adelante. Las principales cosas a tomar en cuenta del variable global "canal" así como un par de claves declarado en principal.
Estas cadenas son los únicos valores que usted debe alterar. El nombre del canal puede permanecer por defecto "leap2pi" o puede ser algún otro valor alfanumérico. Todo con PubNub para la comunicación habla sobre un canal, por lo que se desea utilizar un nombre único para evitar diafonía entre varios proyectos. La publicación y suscripción son identificadores únicos de personales dadas a usted por PubNub cuando te registras para una cuenta. Mantenerlos a salvo. Mantenerlos privados. Estas teclas para evitar que otras personas hablando en su canal. Tomar nota, puede haber pocos lugares en el código que utilizan específicamente la cadena "leap2pi" en lugar de la constante "Canal", y todos estos casos se deben cambiar.
El movimiento de salto captura cerca de 300 cuadros cada segundo. Dentro de cada marco, tenemos acceso a toneladas de información acerca de nuestras manos, tales como el número de los dedos extendidos, echada, desvío y gestos de la mano. Los valores devuelven por el salto para el cabeceo y guiñada (muñeca pan y tilt) son en radianes, que no nos ayuda demasiado. Queremos convertir esos valores a un formato aceptado por el controlador PWM en el cuadro. Primero nos convertir radianes a grados y grados a un valor PWM servo aceptable entre 150 y 600. Esta gama corresponde a la gama típica de funcionamiento de un servo (500-2000 US) representado por el controlador de servos de 12 bits.
La ecuación básica es 2500us / (2 ^ 13 -1) * (anchura de pulso de Servo Min/Max), por lo que [500, 2000] nos asigna a [150, 600]... aproximadamente... En el código, estas conversiones son manejadas por los métodos siguientes.
También, por favor disculpa el servo incorrecta y terminología PWM en el codigo... no todos los que trabajaron en este proyecto eran un experto en estos temas!
La mejor manera de garantizar que su código está trabajando es cargar la Consola de depuración PubNub. Desde aquí, puede introducir el nombre de tu canal, así como su publicación y suscribirse llaves. Golpear "Subscribe", y los datos publicados deben aparecer en el cuadro de mensajes mientras pasa sus manos sobre el controlador de movimiento de salto con el código de Java que se ejecuta.