Componentes y suministros
Herramientas y máquinas necesarias.
|
||||
|
Aplicaciones y servicios en línea
Acerca de este proyecto
Fondo
Los drones me parecen fascinantes, estas pequeñas máquinas voladoras que pueden hacerlo todo. Cuando tuve la oportunidad de hacer un proyecto con tecnología genial, decidí hacer realidad el sueño de un niño, controlar un dron con la mente.
En la investigación que hice para este proyecto, no pude encontrar ningún tutorial sobre cómo hackear fácilmente un controlador de dron. La mayoría de los tutoriales disponibles explican cómo crear tu propio dron usando un Arduino o cómo hackear el protocolo de transmisión.
Este tutorial cubre el concepto más básico de piratear una PCB para controlarla digitalmente. El objetivo de este tutorial es enseñarte los conceptos básicos que te permitirán experimentar por tu cuenta con un dron y crear algo divertido.
Aviso
Potencialmente, puede matar su dron o el controlador y dejarlo inoperable.
Este proyecto no cubrirá cómo dirigir su dron durante el despegue y el aterrizaje únicamente.
No necesariamente necesita un sensor MindWave / EEG, puede usar cualquier entrada que desee. ¡Pero controlar un dron con la mente es pura maravilla!
Videotutorial
Las habilidades que necesitas
Este tutorial asume que tiene alguna experiencia con soldadura y desoldar.
Lista de piezas
- dron + controlador
- Estación de soldadura + accesorios (alambre de cobre trenzado, bomba desoldadora, mano amiga, alambres de núcleo sólido, estaño)
- multímetro
- Sensor MindWave
- Arduino MKR1000
- tabla para cortar pan
- Condensadores 4x 100uF
- 4 resistencias de 220 Ω
- 12 cables de puente
- 6 cables con pinzas de cocodrilo (opcional)
También necesita 4 resistencias cuyo valor de resistencia aún no se conoce.
Fase 1: PCB de drones
Puedes usar casi cualquier dron que quieras. La mayoría de los controladores funcionan con joysticks de dos ejes. Estos controladores que vamos a pasar por alto.
Primero, abra la caja del controlador. Este controlador utiliza dos baterías de 1,5 V que son aproximadamente 3,3 V. Este valor es el mismo que el de la salida del Arduino MKR1000.
Es posible usar otro Arduino de su elección, pero tenga en cuenta que puede romper la PCB si le da más voltaje del que puede manejar. (Hablo por experiencia.)
Mide con un multímetro cuales son los voltajes medio, alto y bajo de los joysticks una vez alimentados. Anótelos para su uso posterior.
Desoldar los componentes del joystick de la PCB.
En realidad, estos componentes del joystick son solo potenciómetros. Un potenciómetro es una resistencia variable analógica. Puedes medir la resistencia máxima con un multímetro. Conecta el multímetro a + y – para leer la resistencia.
Suelde (en este caso resistencias de 10Ω) 4 resistencias en los orificios + y – de las palancas para completar el circuito.
Además, suelde los cables de núcleo sólido a los puertos + (B+ en esta placa) y – (B- en esta placa) en la PCB. Y suelde los cables de núcleo sólido a los puertos de señal de los joysticks.
Ya ha preparado su controlador para el siguiente paso.
Fase 2: digital a analógico
Cuando use AnalogWrite con su Arduino, la salida será una señal PWM (modulación de ancho de pulso). La ganancia transformará su propio valor ARRIBA y ABAJO a una frecuencia determinada.
A nuestra PCB preparada no le gusta el PWM, espera un voltaje constante.
Para crear un valor analógico, podemos usar una variedad de convertidores de digital a analógico, como un chip DAC o un filtro de escalera de RF.
Por esta razón, quiero mantener este proyecto lo más simple posible. Te enseñaré a usar un filtro de paso bajo, que nos dará la salida deseada.
Para crear un filtro de paso bajo, necesita un condensador y una resistencia.
Una de las características de un filtro de paso bajo es que el voltaje analógico cambia gradualmente (lleva un tiempo). Este circuito funciona mejor para mí porque me da el resultado deseado y usa una cantidad baja de partes.
Fase 3: El circuito Arduino
La parte principal de nuestro circuito es el filtro de paso bajo que creamos recientemente. Haga cuatro seguidos y tendremos voltaje analógico para las cuatro entradas del controlador.
Conecte las salidas correctas a las entradas correctas en el PCB del controlador. Asegúrese de tenerlo correctamente antes de descargar Arduino Sketch.
El diseño estándar del dron es el siguiente:
- Gas => arriba/abajo en el lado izquierdo del controlador
- Guiñada => izquierda/derecha en el lado izquierdo del controlador
- Pitch => arriba/abajo en el lado derecho del controlador
- Gire => izquierda/derecha en el lado derecho del joystick
Una vez que todo esté conectado, puede cargar su boceto en su Arduino MKR1000. Puedes encontrar el boceto al final de este tutorial.
El Arduino reemplazará las baterías y puede enviar señales (en forma de voltajes) a los joysticks puenteados. En este momento, puedes crear tus propios programas y experimentos para controlar el dron con PWM.
Ahora le mostraré cómo usar Processing y un sensor MindWave para hacer volar el dron.
Etapa 4: Control Mental
Instale todos los controladores en su computadora. Este sensor MindWave viene con un CD.
Empareje el sensor MindWave a su computadora con Bluetooth. Mantenga presionado el botón durante 3 segundos y el LED azul parpadeará dos veces, ahora es detectable.
Una vez conectado, se inicia el tratamiento.
Instale la librería MindSet creada por Jorge C.S Cardoso para procesar desde http://jorgecardoso.eu/processing/MindSetProcessing/#download
Descomprima la biblioteca en su carpeta de bibliotecas. Puede encontrar la carpeta de bibliotecas en su carpeta de proceso.
Asegúrese de que sus puertos COM sean correctos en la configuración, de lo contrario terminará con un error. Puede encontrar los puertos com en su administrador de dispositivos.
También puede encontrar el puerto com de Arduino en «Herramientas» en el IDE de Arduino en «Puerto»
También puede encontrar el puerto de comunicación del sensor MindWave en las preferencias del conector ThinkGear (obtiene este programa cuando instala los controladores) en «Opciones»
receiver = new Serial(this, "COM10", 115200);
mindSet = new MindSet(this, "COM5");
El procesamiento se comunica con su Arduino a través de serie. Puede modificar el código de procesamiento a su gusto, lea los comentarios en el boceto para comprender lo que está sucediendo.
Ejecute su boceto de procesamiento y concéntrese en su dron. Cuando tu nivel de concentración supere el 40%, el dron despegará. Cuanto más te concentres, más agresivo será el dron. Puedes aterrizar el dron dejando que tu mente divague y dejes de concentrarte.
Conclusión
Espero que este tutorial te haya dado una idea de lo simple que es piratear un controlador de dron (o cualquier PCB) y darle otra entrada. Puede descubrir a través de la experimentación cómo obtener otras entradas para controlar y cómo realizar otros movimientos además del despegue y el aterrizaje.
¡No puedo esperar a ver las cosas geniales que harás!
codificado
diagramas