Instructables
loading
loading

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 129Next »
MuntasarP1 month ago

Hey Tanay, Can you show me how you interfaced the 4051 mux with the keypad? Also, could you tell me where to connected the Pin 3 on the 4051 mux which is the common input/output pin? Please do let me know, thank you.

Can u pls send me .brd file as soon as possible please please .my mail id lakshmimani628@gmail.com

sir, can you send me the .brd files asap. i need it for my college project . my email is ghoshsayansphs@gmail.com

can you send me the .brd files please. my mail is ghoshsayansphs@gmail.com

Hey.. I am a very beginner... And i want to make this project for project submission in my college. As i said i ama very beginner so i cant make it as it not have stepwise making of project and circuit diagrams also... Please can you provide me details how to make it stepwise.. It seems very confusing here... Thanks a lot please help me out
baj12 months ago

where do u buy ur optical sensors

electro18 (author)  baj12 months ago

The optical sensors are bought from a local hobby store
If you can't find them nearby, you can make them yourself ! The circuit is quite easy, I'll upload the schematics if you need.

amandeo4 months 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)  amandeo4 months ago

Sure, I'll upload the circuit diagram soon.

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

amandeo4 months 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)  amandeo4 months 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 ).

amandeo4 months 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)  amandeo4 months 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.

amandeo electro184 months ago

It worked ! Thank you !

electro18 (author)  amandeo4 months ago

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

amandeo4 months 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)  amandeo4 months 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 .

robobot31126 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)  robobot31126 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

robobot31124 months 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)  robobot31124 months ago

Yes , you can !

Abdul4986 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)  Abdul4986 months ago

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

jasilva176 months ago
electro18 (author)  jasilva176 months ago

Sure , it will !

robobot31127 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.
shaksham7 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)  shaksham7 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)  navneetcsgowda7 months ago

Yes you can use the LiquidCrystal library.

PaulBeaudet8 months ago

Links to libraries? Thanks!

electro18 (author)  PaulBeaudet8 months ago

Thank you!

ok
1-40 of 129Next »