Paso 4: Especificación para el control del coche a través de movimiento de salto
Puede descargar el código fuente de este proyecto en GitHub.
La biblioteca del movimiento salto proporciona información de la mano de 200 - 300 veces en un segundo. Es demasiado para este proyecto. Usé la información cada 5 veces.
El dispositivo tiene un 3D sistema de coordenadas como se muestra arriba (el cuadro es tomado de la página web oficial).
En el proyecto actual diseñé las especificaciones siguientes para controlar el coche de Arduino.
Estas dos reglas son prioridad.
- Si el dispositivo no detecta manos parará.
- Si el dispositivo detecta un número de dedos inferior a dos parará.
La colocación de las manos determina el movimiento del coche.
- Si el valor absoluto de x es inferior a 10 cm y el valor absoluto de z es inferior a 5 cm, parará.
- Un cheque en el eje x y z comparación de valor absoluto debe ser realizado. Cualquier eje tiene mayor valor se utilizará en este caso. El coche puede moverse sólo en una dirección (rotación izquierda, rotación derecha, hacia delante o hacia atrás/reversa) en un momento.
- Si el eje z es de valor negativo, el coche moverá hacia atrás/reversa. Si el eje z es de valor positivo, el coche se moverá adelante.
- Si el eje x es de valor negativo, el coche se moverá de izquierda. Si el eje x es de valor positivo, el coche se mueve bien.
- El valor del eje y determina la potencia del motor. Un valor más alto dará lugar a más energía.
La precisión real del dispositivo depende de la distancia entre el dispositivo y la posición de la mano. Por razones de seguridad, programo el coche parar cuando el dispositivo no encuentra ninguna mano o falta de datos.
La dirección basada en estas reglas se transmitirá simultáneamente al coche por medio de XBee Arduino y Web via Socket.IO. Puedo averiguar el tipo de dirección transmitida al coche comprobando navegador Web.
Tomó algún tiempo para ajustar a la especificación. Entender el movimiento de salto biblioteca y puesta a punto para decidir la especificación es la parte clave de este proyecto.