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 email@example.com"
- 2x Any Arduino board (Arduino Uno used in this project)
- Smartphone (Samsung Galaxy Note 3 used in this project)
- 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
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
Step 3: 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
You’ll find the code with full documentation in this repository
Step 5: 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
- 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
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
Step 8: Mapping Code
You’ll find this code
with full documentation in this repository
Step 9: Test
Step 10: Congratulation!
Have fun and feel free to send your comments and recommendation on the following email