Paso 10: Fragmentos de código
La aplicación de KinomaJS tiene dos tareas fundamentales: control del acelerómetro y traducir los datos de aceleración detectada en que comandos de motor. Una configuración básica y lectura de los datos del acelerómetro analógico podrían lograrse en un BLL como esta:
Sería mejor, sin embargo, añadir un par de características a nuestro acelerómetro BLL. La primera es la calibración: la opción para indicarle el BLL cuando el aparato esté nivelado. La segunda es suavizado: reducir el ruido de la entrada para evitar la inquietud del laberinto analógica. En la fuente del proyecto completo, existen implementaciones de estas dos características. El suavizado se realiza usando un simple filtro paso bajo.
Envío de comandos a los motores se realiza en dos partes. El lado BLL escucha los comandos de la aplicación y las convierte en seriales mensajes siguiendo el protocolo de comunicación de la SSC32u (como se especifica en la Guía del usuario). El BLL se ve así:
La aplicación se comunica con el motor BLL cada vez vuelve datos de acelerómetro BLL. Esto comienza cuando se invoca el controlador de 'datos' de la app como devolución de llamada de acelerómetro. Este controlador actualiza la pantalla calcula los ángulos adecuados para los dos servos y luego llama a la función doMotorControl. doMotorContorl invoca la función 'sendDualCommand' del motor BLL:
¡ Felicidades!
Lo has hecho! O si usted se atascara junto a camino, estamos aquí para ayudar, venga a visitarnos en nuestro Foro y háganos saber cómo podemos ayudar.