Introduction: Robot Tracking and Mapping "Using 1Sheeld and Arduino"

Picture of Robot Tracking and Mapping "Using 1Sheeld and Arduino"

Intro
====

In this project we will make a tracking system for any vehicle or robot. This project can be used to monitor a remote robot to track its motion. This tracking system does not depend on GPS as it has low accuracy especially indoors.

This Project is based on Arduino and 1Sheeld to utilize the sensors in smartphones without any extra components. In this project we use a robotic platform GURO (made by AXIS Team) and a tracking system using 1Sheed ONLY!.

Full Bill Of Materials
================

- The Robot, Including:

- 3-mm acrylic structure (50*30 cm)

- 2-DC motors and wheels

- 1-Castor Wheel

- L298 Dual-Channel Motor Driver

- 20 Jumper Wire

- screw driver

- 10x 3mm nails and bolts

- Standrd PC Joystics

- Copper Spacers

"To order this platform contact axisteamnu@gmail.com"

- 2x Any Arduino board (Arduino Uno used in this project)
- 1Sheeld
- Smartphone (Samsung Galaxy Note 3 used in this project)

NOTES
======
- You can use only one Arduino board, but the program size will be huge!
- You can also control the motion of the robot using Gamepad Shield from 1Sheeld
- check that your smartphone has (Orientation Sensor and Accelerometer Sensor).

Step 1: Part I: the Robot Platform

Picture of Part I: the Robot Platform

The idea of this robot is to capture the values of the potentiometers

in the standard PC Joysticks and connect them as analog input to the Arduino. Each Analog button is connected to two pots, one that change its value when the button moves vertically and the second one horizontally. Depending on the change in values of the potentiometers the Arduino will control the motors.

Step 2: Assemble the Robot

Picture of  Assemble the Robot

Step 3: Control Box

Picture of Control Box

1. Connect the motor driver with Arduino

Motor driver has 6-male pin header

- EN1 and EN2 to Connected to 5v (HIGH to enable motor control)

- M1 to M4 connected with arduino Pin 12 to Pin 9

2. Connect the USB with the arduino

- Pin 1 connected to 5v

- Pin 2 and 3 connected to the Arduino Pin0 and Pin 1

- Pin 4 connected to GND.

3. Connect the motors with the motor driver (motor A and B headers)

4. Use 9v battery or 4xAA 1.5v batteries

Step 4: Control Code

Picture of Control Code

You’ll find the code with full documentation in this repository

https://github.com/MahmoudAyman/GURO_Robot

Step 5: ​Part 2

Picture of ​Part 2

1Sheeld captures the values of the sensors in your smartphone, in this project I’ve used the Orientation Sensor to detect the rotation of the robot on X-axis, and the Accelerometer will get the value of the acceleration of the robot in each direction

Step 6: Connect 1Sheeld

Picture of Connect 1Sheeld

- Enable the UART switch

- Click Scan

- NOTE: you have to make a virtual serial port (Software Serial) to communicate between Arduino and the computer because the default serial port Pin0 and Pin1 (Tx and Rx) are already occupied by the shield.

Step 7: Initialization Code

Picture of Initialization Code

Remember that the values of the Orientation Sensor always change due to many factors (position with reference to earth and Sensor Quality ,..)

You’ll find this code with full documentation in this repository

https://github.com/MahmoudAyman/Robot-Tracking-

Step 8: Mapping Code

Picture of Mapping Code

You’ll find this code

with full documentation in this repository

https://github.com/MahmoudAyman/Robot-Tracking-

Step 9: Test

Picture of Test

Step 10: Congratulation!

Have fun and feel free to send your comments and recommendation on the following email

Mahmoud.ayman07@gmail.com

Comments

BlaineN2 (author)2016-04-10

Could you please tell me how I can use 1sheeld to have wheelchair robot follow me?

https://www.youtube.com/watch?v=mccEfqs2aUE

nitishdash2010 (author)2014-12-29

That's a good idea. I'll try it soon.

About This Instructable

4,966views

35favorites

License:

Bio: I'm no one!
More by MrAyman:Robot Tracking and Mapping "Using 1Sheeld and Arduino"
Add instructable to: