Instructables

GESTURE controlled Arduino based Rover ( Wireless + Line Following )

Featured
Picture of GESTURE controlled Arduino based Rover ( Wireless + Line Following )
IMG_0124.JPG



What is it capable of ?
1. It can be controlled using gestures.
2. It can Send temperature , object distance , battery level , etc. values to the glove ( LCD ).
3. Can run on 45+ degree angle.
4. Tx Rx pair on both rover and Glove ( for bi-directional data transfer ).

Why to use joysticks to control you robot when you can control it by the gestures of your hand ! This robotic Rover works on 433MHz Band RF Modules (ASK).

The remote is modified into a GLOVE which is equipped with

an accelerometer (ADXL335)

16x2 LCD display

8 button keypad

and a transceiver

The rover and glove is based on ATmega328 P which is used in Arduino Uno as well ,

**********PARTS*********

ROVER UNIT ( I've named it TITAN :D )

1. ATmega328P

2. Custom made arduino compatible robotic controller

3. DIY FTDI cable ( USB to SERIAL )

4. HC-SR04 Ultrasonic Rangefinder

5. 2 x Optical sensors ( to convert it into a line follower)

6. 2 x custom 30 Amp Motor drivers : MAKE YOUR OWN MOTOR DRIVER

7. 2 x 150 RPM & 5 kgf-cm torque DC motors

8. 12V SLA ( Sealed Lead Acid ) Battery 1.2 Ah capacity

9. 4 x Track wheels and Track belt

10. Acrylic sheet chasis ( i used 4mm thick sheet )

Gesture GLOVE :

1. A Glove

2. ATmega 328P based board

3. ADXL335 accelerometer

4. 16x2 LCD Display

5. A 8-button Keypad

6. 433Mhz Transceiver

7. Some headers and ribbon cables

 
Remove these adsRemove these ads by Signing Up
1-40 of 122Next »
amandeo14 days ago

Can you please provide the circuit diagram of keypad . Also please mention the connection between keypad and atmega328.Since its my first project i have a lot of doubts.Advanced sorry if i keep on commenting and disturb you !

electro18 (author)  amandeo13 days ago

Sure, I'll upload the circuit diagram soon.

That's perfectly fine, I'll be sure to help you in every possible way ! :)

amandeo13 days ago

hi sir,

How to get accelrometer values?

I caliberated using this code :

void setup()

{

Serial.begin(9600);

}

void loop()

{

intxaccel = analogRead(0);

intyaccel = analogRead(1);

intzaccel = analogRead(2);

unsigned long timevar = millis();

Serial.print(timevar);

Serial.print(" ");

Serial.print(xaccel);

Serial.print(" ");

Serial.print(yaccel);

Serial.print(" ");

Serial.println(zaccel);

}

So what value should i give as input ?

electro18 (author)  amandeo13 days ago

okay , so assuming that you have an ADXL335 ( with analog outputs for x , y , z axes ) the values should range from 300 - 440 ( mostly ).Using the serial monitor , verify the high and low values by tilting it ( without much acceleration ) else you could write a code to do that for you. Then use the "map" function to convert these values from analog values to angle.

angle_x = map(angle_x, 300, 440 , -90 , 90);

angle_x = constrain(angle_x,-90,90);

do this step for all the values and then you can easily convert these values from 0 to 255 ( suitable for PWM ).

amandeo15 days ago

I got this error while compiling code for glove:

In file included from sketch_jan14a.ino:3:

E:\Arduino\libraries\ShiftLCD/ShiftLCD.h:116: error: conflicting return type specified for 'virtual void ShiftLCD::write(uint8_t)'

E:\Arduino\hardware\arduino\cores\arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'

I tried LiquidCrystal then, I got this error:

AXIS_GLOVE:43: error: no matching function for call to 'LiquidCrystal::LiquidCrystal(int, int, int)'

Requesting your help.

electro18 (author)  amandeo14 days ago

Yes, that's because the library that is available on that particular website has certain bugs which conflict with the return types. I've re-edited the library and uploaded it on my other instructable ( Digital tachometer ). The other point is that you cannot use the form "mylcd(int, int, int)" This is because the liquid crystal library supports 6 pins and not 3 pins , so you can't run a LCD with liquidcrystal library on bare 3 pins. That is why you need the ShiftLCD library. You may download the updated library from my other Instructable.

It worked ! Thank you !

electro18 (author)  amandeo14 days ago

I'm glad that it worked for you ! Good luck :)

amandeo18 days ago

Hi sir,

How to make this optical sensor? I couldnt get it from shop. If it can be avoided what should be the changes in program? kindly help.

electro18 (author)  amandeo17 days ago

There are no amendments to be done in the program. That's because the sensors are basically used in the line following mode. Until you set the mode to "line following" everything will work as it normally should .

robobot31122 months ago

how am i to connect so many sensors on one arduino?,wont they take too much of power. Otherwise can i use breadboard.

electro18 (author)  robobot31122 months ago

Using a breadboard won't do any good. It would rather make the rover bulky and hard to rewire. Using a custom board would just ease the process. The power consumption won't be affected by the mode of connection ( except for the resistance of traces / breadboard connectors ). As long as you have an appropriate power source capable of delivering required current to all the peripheral sensors, you don't need to worry much.

can i get the schematic for the keypad?Thanks

robobot311227 days ago

i am using the liquidcrystal library, everything seems to work, but for the multiplexed keypad , i'm running out of pins , the only pins left are 9,8, what can be done , can i use pins 0,1,13 as normal IO pins?

electro18 (author)  robobot311227 days ago

Yes , you can !

Abdul4982 months ago

I am very much interested in this project

but i am confused in the circuit

could you please send the circuit daiagram of it

electro18 (author)  Abdul4982 months ago

I've attached the (.sch) schematic files on step 2.

jasilva172 months ago
electro18 (author)  jasilva172 months ago

Sure , it will !

robobot31123 months ago

i am having a doubt with the code. I am attempting this project without the extra features (only gesture control) I have downloaded all the libraries but i get an error on the axis glove .How can i exclude the libraries and remove the lcd from the code?

and i also am having trouble finding a different code as everything wants an encoder.

how can i code it . could you help me out?

give me yr email i ll send that improved code

you could send it to me as a private message.

cant send files in that

I got the code, I made my own using liquidcrystal. Thanks for the tip.

use liquidcrystal insread of shif lcd.
shaksham3 months ago

hey bro i am in trouble i dont know how to generate a source sode and one more thing is that i have to make a major project using arduino so please help me to suggest a name of project using arduino so that i make using its instructions..please help me..

electro18 (author)  shaksham3 months ago

Well I don't get what exactly you're longing for , but if you need the source code then I've already uploaded all the source codes ( .ino files ).

tanay can i use liquid crystal instead of shiftlcd
electro18 (author)  navneetcsgowda3 months ago

Yes you can use the LiquidCrystal library.

PaulBeaudet4 months ago

Links to libraries? Thanks!

electro18 (author)  PaulBeaudet4 months ago

Thank you!

ok
electro i need yr help
electro18 (author)  navneetcsgowda4 months ago

Feel free to ask !

bro plz contact me using
whatsapp: +91 91 9164569398
hangouts:navneetcsgowda@gmail.com
kik:navneetcsg
electro18 (author)  navneetcsgowda4 months ago

I suggest you not to leave your cellphone number on a public website , you may contact me through Instructable's Personal Messaging.

can i use arduino mega instead of that
electro18 (author)  navneetcsgowda4 months ago

Yes you can.

whats that
1-40 of 122Next »