Tabla de contenido:
- Suministros
- Paso 1: ¡Reúna los suministros
- Paso 2: Conexión del módulo NRF con Arduino
- Paso 3: ¡Empecemos a programar
- Paso 4: Nota del autor
Video: Controle el gesto de su dron en $ 10: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
¡Este instructivo es una guía para transformar su Drone R / C en un Drone controlado por gestos en menos de $ 10!
Soy una persona que está muy inspirada por las películas de ciencia ficción y trato de hacer que la tecnología mostrada en la película en la vida real. Este proyecto es una inspiración de dos de esas películas: "STAR WARS: El Imperio Contraataca" y "Proyecto Almanaque". En ambas películas, ves un objeto volador (nave estelar X-wing y un dron R / C) que fueron controlados solo con movimientos de la mano. Esto me inspiró a hacer algo similar …
Obviamente, no soy dueño del X-wing, así que, desafortunadamente, tengo que trabajar con mi Mini R / C Quadcopter.
Entonces, el plan es: habrá un script de procesamiento de imágenes ejecutándose en mi computadora portátil que buscará continuamente mi mano y rastreará su posición en el cuadro de video. Una vez que obtenga las coordenadas de la mano, enviará la señal respectiva al dron y esto se hará usando Arduino conectado a la computadora portátil junto con un Módulo Transceptor NRF24L01 de 2.4GHz que puede comunicarse directamente con la placa receptora de cualquier Dron R / C.
Suministros
- Computadora portátil / de escritorio con cámara web y Python instalados. (Estoy usando mi computadora portátil W indows con su cámara web incorporada y ejecutando Python 2.7.14)
- Cualquier Drone R / C que funcione con una frecuencia de 2,4 Ghz. (JJRC H36 en mi caso)
- Arduino UNO junto con su cable de programación. (Estoy usando su clon porque es más barato)
- NRF24L01 Módulo transceptor inalámbrico de antena de 2,4 GHz. (Compré esto desde aquí por solo ₹ 99 ($ 1.38))
- Placa adaptadora de 3,3 V para módulo inalámbrico 24L01. (Compré esto desde aquí por solo ₹ 49 ($ 0,68))
- Cables de puente macho a hembra x7
Paso 1: ¡Reúna los suministros
Paso 2: Conexión del módulo NRF con Arduino
Ahora que tiene todas las partes, comencemos con el cableado del módulo NRF con el Arduino.
- En primer lugar, inserte el módulo NRF en la ranura proporcionada en el adaptador. Puede consultar la imagen de arriba.
-
Después de eso, tome los cables macho a hembra y conecte el adaptador NRF a Arduino de la siguiente manera: (consulte el diagrama de circuito anterior)
- Pin adaptador NRF - Pin Arduino
- VCC - 5v
- GND - GND
- CE - Pin digital 5
- CSN - Pin analógico 1
- SCK - Pin digital 4
- MO - Pin digital 3
- MI - Pin analógico 0
- IRQ: no se utiliza
- Una vez realizada la conexión, conecte el Arduino a su PC usando el cable USB de programación Arduino y ya casi ha terminado.
Paso 3: ¡Empecemos a programar
¡¡¡Ahora aquí comienza la parte difícil… !!!
No he hecho todo el código por mí mismo. En su lugar, he tomado partes y bits de código de diferentes desarrolladores y los he integrado a todos en uno con algunos ajustes. Por lo tanto, se otorgan los créditos correspondientes a todos los creadores originales.
Puede descargar todos los códigos adjuntos aquí y hacer que funcione. O bien, puede ir a mi Repositorio de Github, donde actualizaré constantemente el último código para un mejor seguimiento.
Seguimiento de la mano:
El clasificador Haar Cascade se utiliza para el seguimiento manual en este proyecto. La cascada de Haar se entrena superponiendo la imagen positiva sobre un conjunto de imágenes negativas. Y estos datos entrenados generalmente se almacenan en archivos ".xml". Puede obtener archivos de clasificador de casi cualquier cosa en Internet o incluso puede crear uno propio como este. Para este proyecto, ya que necesitábamos hacerlo controlado por gestos con las manos, utilicé un clasificador de puño llamado "closed_frontal_palm.xml" hecho por Aravind Nambissan para la detección de mi mano. Puede probar este código ejecutando el código "hand_live.py" en mi repositorio.
Elegir el código NRF24 para que coincida con su dron:
Entonces, de acuerdo con el fabricante y el modelo de su dron, puede consultar el repositorio de Github - "nrf24_cx10_pc" hecho por Perry Tsao para seleccionar el código Arduino apropiado para ejecutar que coincidirá con su frecuencia. Ha hecho un buen tutorial para controlar su CX10 Drone en PC.
Mientras usaba el dron JJRC H36, me referí a otro repositorio de Github, "nrf24_JJRC_H36_pc", que era una bifurcación del repositorio de Perry Tsao creado por Lewis Cornick para controlar su JJRC H36 sobre PC.
Preparando Arduino:
Bifurqué el repositorio de Lewis en mi Github, que puedes clonar si estás trabajando en el mismo dron. Necesita cargar el código "nRF24_multipro.ino" una vez en su Arduino Uno para emparejarlo con su Drone cada vez que ejecutamos nuestro script Python.
Prueba de la comunicación en serie:
En el mismo repositorio, también puede encontrar un código "serial_test.py" que se puede usar para probar la comunicación serial del script Python con Arduino y si su dron se empareja o no. No olvide cambiar el puerto COM en el código de acuerdo con el puerto COM de su placa Arduino.
Integrando todo en un código:
Así que integré todos estos códigos de diferentes desarrolladores e hice mi propio código "handserial.py". Si estás haciendo exactamente lo mismo que yo con exactamente el mismo dron, entonces puedes ejecutar este código directamente y luego puedes controlar tu dron simplemente moviendo tu puño en el aire. El código primero rastrea un puño en el cuadro de video. Dependiendo de la coordenada Y del puño, el código envía el valor del acelerador al dron haciendo que suba o baje y, de manera similar, dependiendo de la coordenada X del puño, el código envía el valor del alerón al dron para que vaya hacia la izquierda o hacia la derecha..
Paso 4: Nota del autor
Hay 4 puntos que me gustaría mencionar especialmente con respecto a este proyecto:
- Como se especificó anteriormente, este código no está completamente hecho por mí, pero estoy trabajando en él continuamente y estaría actualizando el código para un mejor seguimiento en mi Repositorio de Github. Entonces, para cualquier consulta o actualización, puede visitar el repositorio o enviarme un ping en Instagram.
- Actualmente, estamos usando la cámara web de la computadora portátil que no permite tener la perspectiva de la vista del dron, pero si es necesario, las cámaras montadas en el dron también se pueden usar para el propósito de seguimiento. Esto ayudará a tener una mejor vista y, en última instancia, un mejor control.
- Para este proyecto, estoy usando un dron JJRC H36, que es uno de los drones más baratos disponibles en el mercado, por lo que carece de estabilidad giroscópica. Esa es la razón por la que puede sentir que el movimiento en el video es inestable, pero si está utilizando un dron de calidad decente con buena estabilidad, no enfrentará este problema.
- Quería jugar con la Visión por Computadora y el control de drones, por eso comencé con este proyecto. Pero después de trabajar en visión artificial, siento que no es la solución óptima para controlar el dron. Por lo tanto, estoy planeando hacer algún tipo de dispositivo tipo guante con sensor Gyro para controlar el dron en el futuro. Así que estad atentos a las actualizaciones …
Si le gustó este tutorial, por favor, comparta y vote por él.
Eso es todo por ahora … Nos vemos pronto la próxima …
Recomendado:
Guante de conversión de gesto a voz / texto: 5 pasos
Guante de conversión de gesto a voz / texto: La idea / impulso detrás de la implementación de este proyecto fue ayudar a las personas que tienen dificultades para comunicarse usando el habla y comunicarse usando gestos con las manos o más popularmente conocido como lenguaje de señas estadounidense (ASL). Este proyecto puede ser un paso hacia providi
DRON HÍBRIDO: 7 pasos (con imágenes)
DRONE HÍBRIDO: El diseño y desarrollo de vehículos aéreos y submarinos no tripulados basados en quad-helicópteros. La carcasa de presión de la electrónica del vehículo ha sido diseñada y fabricada con material acrílico que puede soportar una presión atmosférica en condiciones aéreas y
Edición de un video de un dron: 4 pasos
Edición de un video de un dron: ¡Bienvenido! Aquí hay algunas pautas que aprendí para cuando editas un video de drones. A lo largo de este instructivo, daré consejos y trucos que he usado al editar videos de vlogs y drones
La guía que desearía tener sobre la construcción de un dron Arduino: 9 pasos
La guía que desearía tener sobre la construcción de un dron Arduino: este documento es una especie de documentación de barra inclinada de "Cómo guiar" que pasa por el proceso que me llevó a comprender los conceptos para lograr mi objetivo de construir un quadcopter simple que pudiera controlar desde mi teléfono móvil. Para hacer este proyecto quería
ROBOT CONTROLADO POR GESTO BASADO EN IOT: 10 pasos (con imágenes)
ROBOT CONTROLADO POR GESTO BASADO EN IOT: Este robot es un robot controlado por gestos que se puede controlar desde cualquier lugar con la ayuda de Internet. En este proyecto, el acelerómetro MPU 6050 se utiliza para recopilar datos sobre los movimientos de nuestras manos. Mide la aceleración de nuestra mano en tres