Paso 1: Teoría del proyecto + explicación
La primera parte y tal vez la mayor parte extranjeros de este proyecto a algunos es el seguimiento de parte de las cosas. Por suerte no tenemos que desarrollar la mano de seguimiento de software o hardware a nosotros mismos. Nuestros buenos amigos en el movimiento de salto han inventado un controlador muy ingenioso para hacer lo que queremos. Queremos ser capaces de controlar nuestro brazo sin tocar a ningún tipo de controlador y podemos hacerlo sólo con un controlador de movimiento de salto. Si usted no está familiarizado con este controlador de cabeza sobre el sitio movimiento de salto y revisa algunos de sus videos https://www.leapmotion.com/. El controlador de movimiento de salto se compone de 3 LEDS infrarrojos que emiten alrededor de 850 nanómetros y tiene 2 cámaras de infrarrojos para capturar el movimiento. La idea del controlador es que la luz de los LEDS IR refleja en nuestras manos y es capturada por las dos cámaras de infrarrojos en el dispositivo. El dispositivo luego transmite los datos capturado para el movimiento de salto sigue el software en su computadora. El software de seguimiento probablemente utiliza a algún tipo de efecto de paralaje y otros algoritmos para reconstruir una representación 3D de lo que ve el dispositivo. El algoritmo de seguimiento entonces interpreta los datos como lo es la orientación y posición de las manos y dedos. Después de que el algoritmo determina al mejor de su capacidad de Dónde está tu mano, los datos se exportan a la API que está lista para usted para interfaz con y extraer datos de. Lo es el movimiento de salto controlador puede interactuar con una variedad de lenguajes de programación así que si no saben Python o no descifrar mi código puede utilizar su propio lenguaje de programación de elección.
Terminamos escribiendo un pequeño pedazo de software que escucha de los datos desde el controlador de movimiento de salto. Una vez que recibamos los datos nos será normalizar por el tamaño del área de interacción del controlador de movimiento de salto para que podamos obtener una fracción de hasta qué punto en el espacio que es nuestra mano. Una vez que tenemos esa fracción podemos multiplicarlo por la gama de un motor y Dile a nuestro Arduino para mover nuestro motor servo a esa posición. Podremos sincronizar nuestro movimiento de la mano en 3 dimensiones para 3 motores diferentes. Movimiento alrededor de cada eje de control de un motor diferente. Tiene sentido porque cuando movemos nuestra mano para arriba más lejos el controlador de movimiento salto queremos nuestro brazo para subir, que podemos hacer pasar.
Si usted está familiarizado con cómo funciona un Arduino sabes que tenemos que subir un bosquejo sobre el tablero antes de que nosotros podemos hacer uso del dispositivo. En orden para poder interactuar dinámicamente con la placa Arduino que necesitamos escribir una pequeña pieza de software que podemos controlar nuestro Arduino sin tener que constantemente mantener subir bocetos sobre el mismo. Por suerte tengo un pequeño pedazo de código que facilitará este proceso. Escribí dos anteriores tutoriales instructable sobre cómo tu Arduino con Python una interfaz mediante comunicación serial. Es una manera elegante de decir que vamos a tener nuestro Python código un poco enviar mensaje a nuestro dispositivo Arduino y luego nuestro Arduino a interpretar el mensaje y llevar a cabo tarea enviada. No preocupación te ando chicos a través de un ejemplo básico de cómo configurar la biblioteca de Pyduino dispositivo Arduino y su ordenador para que podemos empezar a hablar a nuestro Arduino. Y si no sabes Python tengo una solución para usted! El bosquejo que subamos a nuestro Arduino dispositivo es lo suficientemente versátil como para interfaz con el uso de cualquier lenguaje capaz de enviar mensajes de serie así que si no quieres usar Python para enviar mensajes a nuestro Arduino no tienes que! Pero usted tendrá que escribir código extra un poco.
Permítame su atención ahora en la figura anterior. Permite definir algunos terminología para que entiendan todo lo que me refiero más adelante. En la base de nuestro brazo tenemos 2 servomotores, llamaremos a estos motores la acimutal motor ángulo y altitud ángulo de motor. Si estás al día en la terminología de la astronomía observacional el ángulo Azimuthal se refiere normalmente a alguna dirección cardinal (N,W,E.S) así que este es el motor que moverá a la izquierda y derecha y el ángulo de altitud es lo que se inicia en el horizonte y se extiende hacia arriba a algunas estrellas. El brazo principal es que se une al motor de altitud. El brazo secundario se une a lo que gusta llamar el motor de la muñeca que se une al brazo principal. Por último tenemos la garra. (Inserte Toy story clip aquí) La garra se encarga de agarrar cosas y es operada por un motor así.