How to assemble and drive Robot Car using Brainsense (BCI) / Neurosky Mindwave Mobile

14,160.00

The human brain is the central organ of the human system .The brain sense robot car is interesting to all type of people, to measure their concentration and piece level of mind with our brain sense head band. Our bio-sensor band digitize brain wave signals to power the user- interface of computers, game and health application. The brain sense measure brainwaves from the forehead.

100 in stock

SKU: Brain Controlled Robot using Brainsense Categories: ,

Description

Introduction

The human brain is the central organ of the human system .The brain sense robot car is interesting to all type of people, to measure their concentration and piece level of mind with our brain sense head band. Our bio-sensor band digitize brain wave signals to power the user- interface of computers, game and health application. The brain sense measure brainwaves from the forehead.

How to Make a Brain Controlled Robot using  Brainsense (or) Neurosky Mindwave Mobile

Building the Chassis    

Before programming anything, we’ll build the chassis for the robot. Basically it’s a traditional rover robot structure with two Dc motors in the back and one caster in the front. To make it suitable for mind-controlling needs, we’ll add a Bluetooth for wireless communication and LED indications on the top. We use a Screw Shield for the Arduino, to make adding components and wires easy. Fig 1-1 shows the design of the chassis. Here’s how all the major components will work together to create a working robot:

Arduino

This is the brains of the project. It is essentially a small embedded computer with a brain (a microcontroller), as well as header pins that can connect to inputs (sensors) and outputs (actuators).

Chassis

This holds everything together. It’s essentially the platform for the robot.

DC Motors

These are motors that can be connected directly to the Arduino without the need for any additional hardware (such as a motor shield). The Arduino communicates with them by sending pulses to control speed and direction.

Caster wheel

Because we’ll be turning the robot by varying the speed and direction of the servos, which are fixed in place, we need one wheel that pivots nicely. A furniture caster is perfect for this, and the robot ends up being able to rotate in place.

Screw Shield

Screw Shield adds “wings” with terminal blocks to both sides of Arduino. Terminal blocks have screws, so you can attach one or more wires firmly

to any pin. This prevents wires from popping out, which makes building

and coding the robot much easier.

Brain Sense

Brain Sense measures your brain Waves from EEG signal and transmits the results of attention and meditation to Arduino.

 Blueprint of the chassis

Fig 1.1: Blueprint of the chassis 

Tools and Parts

Here we list the parts and tools needed to make the robot

PARTS

Figure 1-2 shows all the parts you need for this project.

Fig: 1.2: Parts

Fig: 1.2: Parts

Brain Sense sensor  or Neurosky mindwave mobileas a mind reading device

☞Arduino Uno

☞(Bluetooth HC-05 Module)

☞DC motor

☞AA Battery(6v-4nos)

☞Battery Holder

☞Wheels

☞USB connector(B- type)

☞Male and Female Headers

☞DC motor Driver(L293D)

☞L-brackets with 3 mm holes

☞Free Wheel

☞Connecting wires and jumpers

TOOLS

☞Hot glue gun

☞Soldering iron and solder

☞Pliers

☞Screwdriver

☞Driller

☞Screws

☞Multimeter.                                

Fig 1.3:Tools

Fig 1.3:Tools

DC Motors

DC motors will be moving the wheels of our robot. The most usual type of DC have limited rotation. They are used when you need to turn the motor to a specific angle. In our robot, we only need to control speed and direction. And, of course, the motor needs to be able to turn freely. Continuous rotations DC are made for this. Almost any servo can be modified to continuous rotation, but it’s easier to buy a ready-made version. 

The Parallax (Futaba) continuous rotation DC is perfect for our needs. This allows identical centring of two DC effortlessly. You’ll notice how handy this is later, when we program the movements for the robot.

DC motor and L brackets

Fig 1.4: DC motor and L brackets

Attaching DC Motors

We’re going to use regular L-brackets to attach the DC motors. Attach two brackets to each servo with screws if you can’t find suitable L-brackets, you can make them from metal strips. For example, you could salvage some strips from an old typewriter, drill holes that match your servo, and bend them to a 90° angle in the middle.

Fig1.5: L-bracket attached to DC Motor

                Fig1.5: L-bracket attached to DC Motor

Chassis

For the chassis you’ll need something that is robust enough to hold the robot together and can be shaped easily. Plywood, acrylic, or metal plate (Figure 1-3) works well.

 Fig 1.6:FR4 sheet (Epoxy Resin)Fig 1.6:FR4 sheet (Epoxy Resin)

                                                                                      

Our material of choice is FR4 (epoxy resin) It’s light, easy to cut, strong, and good looking. Best of all it happened to be free. Because it’s lightweight and flat, it’s used for printing advertising signs.

Fig 1.7: Printed circuit Plan

Fig 1.7: Printed circuit Plan

Even if you don’t have a sign-making store as your neighbour, you could find other useful material thrown away. For example, you shouldn’t have any trouble finding a metal plate from computer parts or plywood from furniture. Choose a material that is easily available for you and that is comfortable to process with your tools and skills.

 Fig1.8: Planed chassis completed with IC base, headers  

Fig1.8: Planed chassis completed with IC base, headers

Making Holes

The easiest way to get the holes where you want them is to hold the target object as a stencil and mark spots with a pen. (Figure 1-9).

 Fig 1.9: After making hols for battery holder

Fig 1.9: After making hols for battery holder

First, mark the DC motor   bracket places on both sides of the robot. The back wheel will be mounted centred in the back of the chassis. Place the Arduino on the top of the Robot so that the screw holes don’t overlap the back wheels’ holes. One more holes needed for battery holders placements.

Next we’ll drill the holes, but first, its hammer time. Always use a nail punch and a hammer to make a small starting hole before drilling metal

 Fig 1.10: DC Motor attached

                            Fig 1.10: DC Motor attached

Wheels

There’s plenty of choice for the wheels (Figure 1-5). Just don’t pick any that are too heavy, and make sure that you’ll be able to make the holes for the DC motor horn attachment. For our robot, we salvaged tires from a remote controlled car.

Fig1.11: Selection of wheels 

Fig1.11: Selection of wheels

Drill two 3 mm holes through both DC motor horns and the wheel rim. Secure the DC motor horns to the wheel rims with 3×10 mm screws. Push the DC motor horns on the DC motor shaft and tighten them in place with 3×18 mm woodscrews(Figure 1-6).

  Fig1.12: DC Motor shaft attached to tire rim

Fig1.12: DC Motor shaft attached to tire rim

Battery Holder

A simple 4×A battery holder placed on the back of the chassis. Drill the hole in the middle Put a 3x10mm screw through the hole and mounts the battery holder to the chassis. (Figure 1-7).

 AAA Battery with Battery holder

Fig1.13: AAA Battery with Battery holder

Bluetooth

Bluetooth module is used to communicate with brain sense and Arduino via wireless manner. One Bluetooth module is connected with top of our chassis and another one is connected with brain sense band (Figure 1-8).

Fig: 1.14: Blue Bee HC-05 Module

Fig: 1.14: Blue Bee HC-05 Module

 Fig1.15:Arduino attached with chassis

Fig1.15:Arduino attached with chassis

 Fig1.16: Arduino and Bluetooth attached with chassis

Fig1.16: Arduino and Bluetooth attached with chassis

Brain Sense Band

Our Brain Sense band contains EEG module (TGAM1-R2.8) and Bluetooth module (hc-05) with a electrode. It is placed on forehead of the user to measure their brainwaves and to power the user interface of robot.

 Fig1.17: Brain sense band with Bluetooth and ElectrodeFig1.17: Brain Sense band with Bluetooth

Screw Shield Holds Wires in Place

Loose wires are probably the most annoying thing while building a prototype. Arduino’s header pins can’t hold the jumper wires securely. Especially when your robot is moving, wires pop out constantly. Luckily the Screw Shield pretty much solves this problem.

Screw Shield adds “wings” with terminal blocks to both sides of Arduino. Terminal blocks have screws so you can attach one or more wires firmly to any pin.

You have to do some soldering when building the Screw Shield, but it will pay off later on. As an added bonus, you’ll get nice and relatively easy soldering practice.

This completes your robot chassis! You now have a moving robot platform. In the next chapter, you’ll be coding the mind-controlled robot part by part. What other projects could you do with your new robot chassis

 Fig1.18: The Mind controlled robot is ready to be programmed

Fig1.18: The Mind controlled robot is ready to be programmed

 Circuit Diagram

The code that controls your robot is simple. Well, it’s simpler than one would expect for a sci-fi trick like mind control.

A simplified, pseudo code version of your robot would be as follows:

void loop ()
{
while (line Detected ()) turn (); //

forward (get Attention ()); // }

Then the robot goes forward. The speed is read from the EEG headband. Rinse and repeat. In this coding part of the book, you’ll write each part of the code that makes your robot tick.

Moving

Continuous rotation DC motors are motors you can easily control. With continuous rotation DC motor, you can only control the speed (forward, stop, back).

There are three wires going to a DC motor: red (positive), black (ground), to control a DC motor.

Connect DC motor

Let’s start by connecting DC motor to Arduino. To keep the solders in your DC motor intact,

Now connect the wires to Arduino. You can connect both the left and right DC motor away.

Then Arduino data line (GPIO) is given to motor driver (L2930) and then it is given to pins of motor driver. After that output of driver is given to input of the motor

 Fig2.1:Connection of Arduino with Bluetooth

Fig2.1:Connection of Arduino with Bluetooth

The transmitter and receiver of the Arduino is given to blue bee Bluetooth fig2.1

Fig2.2: Connection with Arduino and Bluetooth

Fig2.2: Connection with Arduino and Bluetooth                 

————————————————————————————————————-

Note: Every GND symbol means a connection to Arduino GND pin, which is also connected to the black 0V GND wire of the battery. This saves the trouble of having a circuit diagram full of wire going to ground.

  ————————————————————————————————————-

Configuration settings

 

Steps to interface Brain Sense with Arduino

Find the Serial number of your Brain Sense Headband

1.Select your Brain Sense Headband

 1.Select your Brain sense Headband

Right click →     Properties →         Bluetooth →

Then know your Unique Identifier Number (Note it)

Diagram for HC-05 Bluetooth Module with Arduino

Example: This band Unique no =98d3,31,302424

Diagram for HC-05 Bluetooth module with Arduino

Method 1 for AT Commands

Fig2.3:Connection of Arduino with Bluetooth for pairing Brainsense or mindwave mobile with bluetooth

                                    Fig2.3:Connection of Arduino with Bluetooth for pairing Brainsense or mindwave mobile with Bluetooth

————————————————————————————

Note: Here the Arduino Board used only for USB to UART converter.

So don’t want to download any source code (Sketch) to board.

Modes of HC-05 Bluetooth module:

How to HC-05 Module Enter into Command mode:

Press and Hold the Push switch in HC-05 Module at few secs, when its power ON (In between OFF state to ON state).

If HC-05 Module in Command mode means, the LED blink at low toggle (blinking slowly).

Baud rate for Command Mode

    In command mode the HC-05 Module works in 38400 baud rate (fixed Baud rate).

How to HC-05 Module Enter into Data mode:

   In default state, the HC-05 Module works as a Data mode operation.

   If HC-05 Module in Data mode means, the LED blink at High toggle.

Baud rate for Data Mode

    In Data mode the HC-05 Module works in variable Baud rate.

AT Commands for HC-05 Module Initialize for Brain Sense

          First Enter into command mode, after then enter the following AT commands for HC-05 Module to communicate our Brain Sense Headband. 

☞.AT+NAME=”PANTECH”

☞.AT+UART=”57600,0,0”

☞.AT+ROLE=”1”

☞.AT+PSWD=”1234”

☞.AT+CMODE=”0”

☞.AT+BIND=”XXXX,YY,ZZZZZZ”(MindwaveUniqueNumber)

☞.AT+IAC=”9E8B33”

☞.AT+CLASS=”0”

☞.AT+INQM=”1,9,48”

Verification commands for HC-05 Module

1.AT 

          OK

 

2.AT+UART?

                                      +UART:57600,0,0

                                        OK

2.AT+ROLE?

                                      +ROLE:1

                                      OK

3.AT+PSWD?

                                      +PSWD:0000

                                      OK

4.AT+CMODE?

                                      +CMODE:0

                                        OK

5.AT+BIND?

                                      +BIND:9cb7:0d:89e51c

                                      OK

6.AT+IAC?

                                      +IAC:9E8B33

                                       OK

7.AT+INQM?

                                      +INQM:1,9,48

                                       OK

—————————————————————————————————————-

Note: For using above AT commands don’t use “(Double quotes) only enter In-between commands from double quotes.

After the end of every command press “Enter Key”

—————————————————————————————————————-

Open serial communication software

(Here we have to use Flash magic software)

1.Select your Port and set Baud rate is 38400

           1.Select your Port and set Baud rate is 38400

Enter the AT com

Some Tips about HC-05 Module Configuration

2.Enter the AT commands (Verification)

Some Tips about HC-05 Module Configuration                     

1. HC-05 Module configure as Mater device and Brain Sense Headband act as Slave device  

☞And the HC-05 Module was configuring as Specific address mode. Therefore it’s Pair with only the specific device.

☞Here the specific device is our Brain Sense Headband (Using BIND AT command, we configured the Brain Sense unique number to HC-05).

☞So the Brain Sense and HC-05 module automatically paired, when we switch ON the both device.

Steps to wear a Brain Sense band on forehead

 Fig2.4: Quick start guide

                                    Fig2.4: Quick start guide

 Fig2.5: Steps to Turn on Brain Sense

Fig2.5: Steps to Turn on Brain Sense

Fig2.5: Steps to wear Braine sense

Fig2.5: Steps to wear Braine sense

 Fig2.6: Signals and Status meter measured by neuro view

Fig2.6: Signals and Status meter measured by neuro view

 

NeuroSky Protocol

How do you begin when faced with an unknown protocol? We did some Googling, and found that the NeuroSky reference documentation and more was available on the NeuroSky website. For example, see “Mind Wave and Arduino” (NeuroSky 2011), “Mindset Communications Protocol” (NeuroSky 2010), and “arduino_tutorial” in the NeuroSky wiki (http://developer.neuro sky.com/docs/doku.php?id=start).

The NeuroSky dongle communicates over the serial port. We have wires going to Arduino RX and TX.

Every packet is of this format: sync (170 170), payload length, payload, and a checksum (see Table2.1)    

Table 2-1. NeuroSky packet

                                              

Meaning

Example

Comment

Sync

170 170

Always the same

Payload length

 

4

 

Most common length in

this project

Payload

486

4 attention, value

86/100 = 86%

Payload cont.

20

2 poor signal, value 0

signal OK

Checksum

163

255–(sum of each payload

byte)

Even though the reference documentation saved us the tedious work of reverse engineering the protocol, there were surprises around the corner. Coping with serial buffer overflow, long delays caused by moving parts, and doing voltage level changes without additional circuits were problems to solve.

62 Make a Mind-Controlled Arduino Robot www.pantechsolutions.net  NeuroSky, the manufacturer of Mind Wave, provides excellent documentation. See “Mindset Communications Protocol” and “Mind Wave Dongle Communications Protocol.” Some code samples on the Web use everyday decimal format (170), but some use hexadecimal (0xaa or just AA). We’ve compiled a list of the most common code numbers You can also convert numbers with Python. Just start Python at the command line and you’ll get an interactive console where you can type things like hex(170) or 0xaa. Or you can use http://www.wolframalpha.com or Google. Most of the NeuroSky protocol control characters we use are outside ASCII. The last ASCII printable character is 126 tilde ~; the last ASCII character is 127 DEL.

Fig2.7: Finished mind-controlled robot

Fig2.7: Finished mind-controlled robot

Additional information

Weight 1.000000 kg

Reviews

There are no reviews yet.

Be the first to review “How to assemble and drive Robot Car using Brainsense (BCI) / Neurosky Mindwave Mobile”

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.