Mind Controlled Drone - Tutorial

Wesley Hartogs
31 Mar 201805:50

Summary

TLDRThis tutorial guides you through the innovative process of controlling a drone with your mind using the Neurosky MindWave Mobile. It covers the essentials, from disassembling a drone controller and setting up potentiometers to building a circuit with an Arduino MKR1000 and creating a Processing sketch for mind-controlled flight. The video demonstrates how to connect the mindwave sensor, calibrate attention levels, and safely operate the drone with a focus on concentration, ensuring a hands-free, thought-driven flying experience.

Takeaways

  • 🛠️ The project requires a drone, its controller, a soldering station, a multimeter, Neurosky MindWave Mobile, Arduino MKR1000, and various electronic components.
  • 🔍 Disassembling the drone controller is the first step, being careful not to damage the internal circuit board.
  • 🔧 Desoldering is necessary to remove the joysticks from the controller, revealing the potentiometers within.
  • ⚡ The multimeter is used to measure and match the resistance of the potentiometers, typically 10k ohms.
  • 🔌 Soldering is performed to attach resistors and wires to the potentiometers to facilitate PWM to analog voltage conversion.
  • 🔄 A digital to analog converter circuit is constructed using capacitors and resistors to filter the PWM output from the Arduino.
  • 🤖 The Arduino MKR1000 is the central component for building the main circuit, requiring careful wiring and connection to the controller.
  • 🔌 Proper wiring of the Arduino to the controller is crucial to avoid short circuits, with attention to VCC and GND connections.
  • 📱 The Arduino sketch is uploaded to control the drone's throttle, yaw, pitch, and roll variables.
  • 🧠 The Neurosky MindWave Mobile is used as a brainwave sensor to control the drone, requiring Bluetooth pairing with a computer.
  • 💡 The Processing code is essential for translating brainwave data into drone control signals, with a focus on the 'attention' value.
  • 🛑 A kill-switch feature is included in the Processing sketch to ensure safety by setting the throttle to zero in case of an emergency.

Q & A

  • What is the main objective of the video tutorial?

    -The main objective of the video tutorial is to teach viewers how to lift-off a drone using their mind.

  • What are the required materials for this project?

    -The required materials include a drone and its controller, a soldering station and accessories, a multimeter, the Neurosky MindWave Mobile, a micro USB cable, the Arduino MKR1000, a breadboard, 4 100uF capacitors, 4 220Ω resistors, 12 jumper wires, and 6 crocodile clip wires.

  • Can any drone be used for this project?

    -The script suggests that this project should work with any drone, and even a cheap drone costing €10 from an outlet store can be used.

  • What is the first step in modifying the drone's controller?

    -The first step is to open the case of the controller using any necessary force without damaging the circuit board inside.

  • Why is a multimeter used in this project?

    -A multimeter is used to measure the resistance of the potentiometers in the joystick to ensure they have the correct resistance of 10k ohms.

  • How many resistors are needed to replace the potentiometers in the joysticks?

    -Four 10k ohm resistors are needed, one for each outer end of the two potentiometers in the joysticks.

  • What is the purpose of building a digital to analogue converter (DAC) with a low pass filter?

    -The purpose is to convert the PWM output from the Arduino to an analogue voltage, which is necessary for controlling the drone's controller.

  • How does the Arduino circuit provide power to the controller?

    -The Arduino circuit provides power to the controller by connecting the red wire to the VCC for a 3.3-volt output and the ground (GND) with a black wire.

  • What is the role of the Neurosky MindWave Mobile in controlling the drone?

    -The Neurosky MindWave Mobile is used to detect the user's brainwave activity, specifically the attention level, which is then sent to the Arduino to control the throttle of the drone.

  • What is the minimum attention level required to lift-off the drone according to the Processing sketch?

    -A minimum attention level of 40 is needed to initiate the lift-off of the drone.

  • How does the 'kill-switch' function in the Processing sketch work?

    -The 'kill-switch' function terminates the program and sets the throttle to 0 in case something goes wrong, ensuring safety during experimentation. It can be activated by pressing the 'K' key.

Outlines

00:00

🛠️ Drone Control with MindWave Setup

This tutorial introduces a project where a drone is controlled using the Neurosky MindWave Mobile device. The process begins with the necessary tools and materials, including a drone, a soldering station, a multimeter, and electronic components like capacitors, resistors, and jumper wires. The controller is disassembled to access the joystick's potentiometers, which are then measured and matched with appropriate resistors. The Arduino MKR1000 is used to convert PWM signals to analog voltages, creating a digital to analog converter circuit with a low pass filter. The Arduino is connected to the modified controller, and a sketch is uploaded to control the drone's throttle, yaw, pitch, and roll. The mindwave sensor is set up for Bluetooth pairing, and Processing code is used to map attention values to drone control, with a safety kill-switch included.

05:02

🧠 Mind-Powered Drone Lift-Off and Landing

The second paragraph explains the operational aspect of the mind-controlled drone. It details how the drone responds to the user's concentration levels, lifting off when the attention level is high and landing when it drops. The Processing sketch is used to visualize the attention levels required for the drone to take flight, with a minimum threshold of 40. The tutorial concludes with an invitation for viewers to apply the knowledge gained to their own projects, expressing enthusiasm for the creative potential of this technology.

Mindmap

Keywords

💡Drone

A drone is an unmanned aerial vehicle that can be remotely controlled or fly autonomously. In the context of the video, the drone is the primary subject of the project, where the goal is to modify its controller to be operated by brainwave signals. The script mentions purchasing a cheap drone and modifying its controller, indicating the drone's role in the tutorial.

💡Controller

A controller is a device used to manipulate the movements of a drone or other remote-controlled devices. The video script describes opening the controller's case and modifying its internal components to integrate with the Arduino and MindWave Mobile for mind-controlled operation.

💡Soldering Station

A soldering station is a tool used to melt solder and join electrical components together. In the script, it is necessary for modifying the drone's controller by desoldering existing connections and soldering new resistors and wires, which is a critical step in the project.

💡Multimeter

A multimeter is an electronic measuring instrument that combines several measurement functions in one unit. The script mentions using a multimeter to measure the resistance of potentiometers in the joystick, ensuring they are functioning correctly and have the expected resistance value.

💡Neurosky MindWave Mobile

The Neurosky MindWave Mobile is a device that measures brainwave activity and can be used for various applications, including controlling devices with the mind. The video script describes using this device to capture the user's brainwave signals and translate them into control signals for the drone.

💡Arduino MKR1000

The Arduino MKR1000 is a microcontroller board based on the Arduino platform. In the video, it is used to create a custom circuit that converts the brainwave data from the MindWave Mobile into analog signals that can control the drone's movements.

💡Breadboard

A breadboard is a device used for building or testing electronic circuits without soldering. The script describes using a breadboard to construct the main circuit that interfaces the Arduino with the drone's controller, allowing for the conversion of digital signals to analog.

💡Capacitors

Capacitors are electronic components that store electrical energy in an electric field. In the script, 100uF capacitors are used in the construction of a low pass filter, which is part of the digital-to-analog converter circuit for the drone's controller.

💡Resistors

Resistors are electronic components that oppose the flow of electrical current in a circuit. The script mentions using 220Ω resistors to connect the capacitors in the breadboard, which helps in shaping the output signal for the drone's controller.

💡Jumper Wires

Jumper wires are used to make temporary electrical connections between components in a circuit. The video script describes using jumper wires to connect the resistors and capacitors in the breadboard, facilitating the construction of the circuit.

💡Crocodile Clip Wires

Crocodile clip wires are flexible wires with alligator clips on one or both ends, used for making temporary connections in a circuit. The script mentions using these to connect the Arduino circuit to the hacked controller, allowing for a non-permanent setup.

💡PWM (Pulse Width Modulation)

PWM is a technique used to encode information in the width of a series of pulses. In the video, the Arduino uses PWM output to control the drone's movements, which is then converted to an analog voltage using a simple digital-to-analog converter circuit.

💡Processing

Processing is an open-source programming language and environment for people who want to create software and content for the web, in collaboration with artists, designers, and others. The script describes using Processing to write code that reads brainwave data from the MindWave sensor and sends it to the Arduino to control the drone.

💡MindSet Library

The MindSet library is a collection of code used to interface with the Neurosky MindWave Mobile. The script mentions installing this library to facilitate the communication between the MindWave sensor and the Processing environment, which is essential for translating brainwave data into drone control signals.

💡Attention Value

The attention value is a measure derived from brainwave signals, indicating the level of focus or concentration. In the video, the Processing sketch maps the attention value to control the throttle of the drone, with a minimum level required for the drone to lift off.

💡Kill-Switch

A kill-switch is a safety feature that can immediately stop or disable a system. The script describes implementing a kill-switch in the Processing code that terminates the program and sets the throttle to zero if something goes wrong, ensuring safety during experimentation.

Highlights

Introduction to a tutorial on using mind control to operate a drone.

List of required materials including a drone, soldering station, multimeter, Neurosky MindWave Mobile, Arduino MKR1000, and various electronic components.

The project's compatibility with any drone, suggesting a €10 drone from an outlet store.

Instructions for opening the drone controller's case without damaging internal components.

Desoldering the joysticks from the controller's PCB and identifying the potentiometers within.

Using a multimeter to measure and verify the resistance of the potentiometers.

Soldering resistors to the potentiometers to simulate joystick movement.

Building a simple digital to analog converter (DAC) using a low pass filter for PWM output conversion.

Assembling the main circuit on a breadboard with capacitors, resistors, and jumper wires.

Connecting the Arduino MKR1000 to power the controller and set up the circuit.

Creating a non-permanent circuit using crocodile clip wires to connect the Arduino to the controller.

Uploading the Arduino sketch to control the drone's throttle, yaw, pitch, and roll.

Setting up the mindwave sensor for Bluetooth pairing and head placement for mind control.

Using the Processing software to establish serial connections with the mindwave sensor and Arduino.

Mapping the attention value from the mindwave sensor to control the drone's throttle.

Implementation of a kill-switch in the Processing sketch for safety during experimentation.

Demonstration of the mind-controlled drone lift-off based on the user's concentration level.

Visual representation of the attention level needed for the drone to lift-off in the Processing sketch.

Conclusion summarizing the tutorial's educational value and the creator's enthusiasm for the project.

Transcripts

play00:01

Hello and welcome to this video tutorial.

play00:04

You will learn how to lift-off a drone using your mind.

play00:11

For this project, we need a drone and its controller.

play00:13

A soldering station and its accessories.

play00:16

A multimeter.

play00:17

The Neurosky MindWave Mobile

play00:19

A micro USB cable.

play00:20

The Arduino MKR1000.

play00:22

One breadboard. 4 100uF capacitors.

play00:26

4 220Ω resistors.

play00:29

12 Jumper wires and 6 Crocodile Clip Wires.

play00:33

This project should work with any drone.

play00:35

You can buy a cheap drone for €10 in an outlet store.

play00:40

Frist, we open the case of the controller.

play00:42

Use any force necessary, but don't break the circuit board inside.

play00:46

You will end up whit something like this.

play00:48

Don't mind the wires, we'll add them later.

play00:50

Use a desoldering pump or braided copper wire to remove the tin from the PCB to disconnect the joysticks.

play00:57

You will end up whit something like this.

play00:59

Actually this joystick contains two potentiometers.

play01:04

One in the x-axis and one in the y-axis.

play01:07

We can measure the resistance of the potentiometers with a multimeter.

play01:11

This multimeter comes with handy clamps to attach to the potentiometers.

play01:16

First, we check the resistance of a potentiometer with an know resistance,

play01:21

to make sure the multimeter is working correctly.

play01:24

This standard potentiometer should have 10k resistance.

play01:29

When we measure the resistance of the joystick component we see that the resistance is also 10k.

play01:34

This result may vary on your controller.

play01:37

Find 4 resistors of this same value and solder them to the outer ends of each potentiometer.

play01:42

In this case there are four 10k resistors needed.

play01:45

Solder solid core wires to the open middle holes.

play01:48

Also solder the postive (+) and negative (-) wires.

play01:52

We need to convert the PWM output from the Arduino to an analogue voltage.

play01:58

You can build a simple digital to analogue converter (DAC) with a low pass filter.

play02:02

Using a capacitor and an resistor.

play02:06

This will be the main part of the circuit.

play02:09

Next, we will build a receiver that will generate the output to the controller.

play02:13

Grab your Arduino MKR1000,

play02:15

breadboard, jumper wires, capacitors and resistors to start building the main circuit.

play02:19

Connect the red wire to the VCC which gives a 3.3-volt output and connect the ground (GND) with a black wire.

play02:27

This will be used as power for the controller.

play02:32

Make a row of polarized capacitors.

play02:34

The long pin goes in to the ground (GND).

play02:39

Use the 220-ohm resistors to connect the capacitors to the other side of the breadboard.

play02:44

Place the jumper wires between the resistors and capacitors.

play02:48

These will give the output of the analogue voltages.

play02:50

Lastly, connect pins 2 - 5 to the front end of the resistors.

play02:55

The circuit will look like this.

play03:04

Now is the time to connect the Arduino circuit to the hacked controller.

play03:13

I use Crocodile clip wires to make an non-permanent circuit.

play03:19

Make sure you connect the ground and the VCC correctly.

play03:23

Or you will get a short circuit.

play03:26

When you connected all the pins to the correct inputs on the controller it's time to upload the Arduino sketch.

play03:33

There are four variables that control the output.

play03:35

Throttle, Yaw, Pitch and Roll.

play03:40

In the setup, we start Serial communication and set all the pins to OUTPUT.

play03:47

The Arduino recieves 4 8-bit values at a time and sends them with analogWrite() to the controller.

play03:54

When the sketch is uploaded you can turn on the controller and connect to the drone.

play04:03

Now we will look into the mindwave sensor to control the drone.

play04:07

Install the drivers from CD on your laptop or PC.

play04:11

To activate Bluetooth pairing mode on the mindwave sensor you have to hold the switch for 3 seconds until the led is flashing twice.

play04:18

When the mindwave sensor is connected put in on your head.

play04:21

Now we will look into the processing code.

play04:24

Make sure you have connected the Arduino via USB and the mindwave sensor connected via Bluetooth.

play04:29

Also, make sure you have the MindSet library installed in your Processing libraries folder.

play04:33

This sketch will make a Bluetooth serial connection with the mindwave sensor.

play04:36

And an normal Serial connection with the Arduino.

play04:39

You can find the com-ports in your device manager.

play04:42

The MindSet libary wil give you periodically an attention value between 0 an 100.

play04:47

This value gets mapped and will be sent to the Arduino to control the throttle of the drone.

play04:52

Also, there is a kill-switch build in that terminates the program.

play04:55

And sets the throttle to 0 in case something goes wrong while experimenting.

play04:59

Press K to terminate the program.

play05:01

Run the sketch and concentrate on your drone.

play05:04

When you concentrating enough the drone will lift-off.

play05:13

When you stop concentrating, the drone will land.

play05:24

The Processing sketch will visualise the amount of attention needed

play05:27

to lift-off the drone.

play05:29

A minimum attention level of 40 is needed to start an lift-off.

play05:35

I hope you have learned something today.

play05:37

I had great fun building this project.

play05:39

And I look forward to seeing what you will do with this knowledge.

play05:42

Thanks for watching!

Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
Drone ControlMindWaveArduinoDIY ProjectTech TutorialInnovative TechDIY DroneMind ControlCircuit BuildingBluetooth Pairing
Benötigen Sie eine Zusammenfassung auf Englisch?