Introduction: Linkitone GPS Enabled Line Following Bot
I was lucky to receive a LinkIt board. It a cooler alternative to the arduino as it has a whole lof of feature packed on the loard which makes it an ideal dev board for anything to that has to do with GPS, WiFi, GSM Bluetooth. I would like to make a special mention about the batter included that makes it a total badass.
I have had an idea to build a line following bot for a while but now with the GPS on board adds a lot more value to my project. So lets get started
I have used a another instructable to make this roject s a reference that can be found here
Step 1: Getting Started
- Download arduino IDE from the official Arduino website
- Install the IDE
- Add LinkIt one to the list of boards from the board manager by clicking on File -->Preferences and enter the URL
- Navigate to tools board manager and find the LinkIt One board and hit install.
Step 2: Things You Need
You will need the following things to make a robot:
- LinkItOne Dev Board
- Saw Sandpaper
- Circuit board acid
- 1mm drill
- Soldering oil
- Soldering wire
- Soldering iron
- Wire cutter
- Some wire
- 2x Plastic wheels
- 1x Spherical front wheel
Circuit boards components:
- A 4 AA battery holder
- U2 = 7805 = 5V Voltage Regulator
- U3 = LM324 Comparator
- U4 = L298 Motor Driver + Aluminum Radiator
- RP = LP = MP = FP = 10K Potentiometers
- L Motor = R Motor = 60rpm MiniMotors with Gearbox (6V)
- R Sensor = L Sensor = M Sensor = F Sensor = TCRT5000 Infrared Sensors
- ModeLED = LBLED = RBLED = Small Red LEDs
- LFLED = RFLED = Small Green LEDs
- Mode = Left = Right = Small Buttons
- SW = Toggle Switch = On/Off Switch
- J = Jumper = A piece of wire
Step 4: Assembley
Solder all parts on the boards.
Solder the Back board to the Top board and Front board to the Top board.
Be careful of the correct direction of components.
Solder motors and battery holder on the back side of the Bottom board and put some pieces of paper around motors to avoid unexpected contacts in the circuit.
Bend the wires and put three boards on the battery holder and solder Front board and Back board to the Bottom board (Use some long flexible wires to contact terminals of the Back and Bottom boards). Connect + terminal on the Top board to the battery holders + pole.
Step 5: Attach Wheels
Connect 2 plastic wheels to the motors and cover them with a rubber band.
Attach a spherical wheel to the Back board in front of the robot with some glue.
Cover the gearboxes with sheets of thin plastic.
Step 6: Lets Do a Trail!
Put 4 AA or a lipo batteries into the battery holder, make a path, and turn on the robot.
If the robot does not work, it might mean that the soldering needs attention. Now release the robot on the path to follow it.
We will now add a GPS to make it location aware
Step 7: Customize the Movement
You can define a custom movement for the robot by pressing the Mode button.
When the Mode LED is off, the robot is on its default state. After pressing the Mode button, the Mode LED turns on, now you can hold the robot in different states and change the state of the motors depend on their default state by Left and Right buttons. After pressing the Mode button again the Mode LED starts blinking, now you can hold the robot in different states and change the state of the motors depending on values of the sensors by the Left and Right buttons. To switch to default state, press Mode button again. There are four states for the motors: Default state Forward (Green LED is on) Backward (Red LED is on) Stop (Both Green and Red LEDs are on)
Step 8: Add the GPS That Comes in Bundled
We can use the GPS that comes with your Linkit board and plug it in to make the bot location aware
Step 9: How It Works
This robot has 4 IR sensors that can scan the path.
If the Right and Left sensors have the same values, and their values are different from the Middle or Front sensors, the robot is on the line and motor runs forward. When the robot is out of line, it keeps moving till one of the values of the sensors at the side changes, then it turns to the direction according to the changed value.
You can read the program source code to understand it better.