Paso 8: Vincular el movimiento de salto controlador para un motor de servo
Ahora que suerte tiene el dispositivo de movimiento de salto para arriba y funcionando que vamos a crear nuestro primer programa para datos de la secuencia desde el dispositivo y luego vamos a enlazar hasta nuestro servomotor con la biblioteca de pyduino. Cualquier momento que ejecutar un script que necesitamos el servicio leapd. Para saber que se está ejecutando este servicio que usted debe ser capaz de ver los 3 iluminados LED en el dispositivo de salto. (Imagen en ver en el paso anterior)
Nuestro primer script de salto estará compuesto por varios componentes claves. Hay una clase controlador que se conecta al dispositivo de salto y una clase de oyente que obtendrá los datos desde el software de seguimiento. Para un detallado tutorial sobre cómo configurar un simple salto script echa un vistazo: https://developer.leapmotion.com/documentation/pyt...
Te voy a dar una breve descripción de lo que hace el pedazo de código a continuación y cómo funciona. En la parte principal del código inicializamos una instancia de nuestras clases de oyente y controlador luego añadimos la escucha personalizada a nuestro controlador. La parte importante de la escritura es lo que se produce en el oyente. El oyente es una clase que obtener datos desde el dispositivo de salto y evaluar qué hacer con la información que transmiten. El oyente tiene la capacidad para obtener 60 frames por segundo desde el dispositivo sin embargo es un poco demasiada información para lo que queremos. Eres Bienvenido a probar y uso los 60 marcos al segundo a control su Arduino sin embargo tenga en cuenta lo toma un poco de tiempo para enviar un mensaje al dispositivo Arduino y que responder. Para solucionar este problema que sólo vamos a trabajar con 10 marcos a segundo en lugar de 60. El oyente tiene unas funciones básicas: inicializar por, en conexión, en desconectar, de salida, en el marco. Son todos bastante auto explicativo de los nombres pero permite recorrer uno por uno y explicar cómo vamos a utilizar para controlar nuestro servo.
En la inicialización - aquí queremos declarar nuestro Arduino y establecer una conexión en serie que
Al conectar - podemos habilitar algunos gestos para el controlador, sin necesidad de hacer nada con el Arduino aquí
En desconexión - nada realmente aquí.
A la salida - que vamos a restablecer la posición del servo y cerrar la conexión con nuestro dispositivo Arduino
Marco - la primera cosa a hacer es llegar a la vez porque sólo queremos obtener un fotograma cada 10 ms o menos. Una vez que obtenemos la estructura del controlador nos dirá que es en el marco y cuál es su posición. De esto podemos extraer posiciones de dedos y articulaciones. Vamos a utilizar la posición normalizada de nuestra mano en la caja de la interacción y se multiplican por la gama en nuestro motor. Por ejemplo si nuestra mano está todo el camino a la izquierda, la posición normalizada será 0 y por lo tanto el ángulo en el servo será 0 así. Para más información usted puede leer en el cuadro de interacción en la documentación del API de salto: https://developer.leapmotion.com/documentation/pyt... Otro enlace útil para mirar es el uno para el marco porque la estructura almacena toda la información sobre la mano y las posiciones de todo. Para ver qué información es accesible dentro de nuestro marco revisa este enlace: https://developer.leapmotion.com/documentation/pyt...
Vamos a utilizar el mismo circuito de Arduino que creamos anteriormente. Si sucedió cambiar el pin de servo a algo diferente a 2 usted necesitará modificar el código de abajo (línea 17). Si usted es incapaz de obtener la pieza de Arduino trabajo Asegúrese de que tiene la conexión en serie en el puerto correcto (línea 23). Líneas 78,82 son lo que controlan el motor servo. Cuando se ejecuta el código tomar algún tiempo para mover la mano y ver lo que se de salida. La posición de la mano se dará salida en cuanto a la posición normalizada en el cuadro de interacción. Antes de ejecutar este código, asegúrese de que está ejecutando el servicio de leapd y que tu Arduino está conectado al ordenador.
my_first_leap.py