This demonstration shows how to run the Geekbot Line Follower, which follows a set path... forever (or until the battery runs out, you know, whichever comes first). This is the first step into a series of automated geekbot operation! We will be laying down a simple circular path on the floor with some electrical tape and sending the geekbot for a spin! In this section, we will cover just the very basics of getting your geekbot to follow lines. We're covering this material to make the next steps, where we will be adding intersections and mapping, much easier to understand.Contents:
Note that the Geekbot in the video has been shelled with 3D printed parts. You can shell your geekbot too! Just go to our page on Thingiverse to download the 3D files!
Project Parts List:
RobotGeek Geekbot Kit
Everything you'll need to get started with this demo is included in the RobotGeek Geekbot Kit! We'll be using the Sparkfun Line Follower Array on the standard Geekbot Base.
Assemble your Geekbot
Geekbot V3 Assembly Guide
Follow and complete the Geekbot V3 Assembly Guide, making sure to follow the directions for mounting the Line Follower Array. If you haven't already done so, go through the Geekduino Getting Started Guide and the Geekbot Getting Started Guide.
Download the Sketch
A .zip file with all of the Geekbot Sketches can be found here.
If you haven't already done so, download and install the RobotGeek Libraries and Tools here.
Unzip the file and you will have a folder called
We recommend that you find the
RobotGeek Sketches folder in your Arduino user folder and put the
geekbot-master in there. The rest of this guide will assume you've placed your sketches in the following folder.
Arduino -> RobotGeek Sketches -> geekbot-master
This will be the same 'Arduino' folder you put your libraries and robotgeek tools in, and NOT the folder where the Arduino application is.
File -> Sketchbook -> RobotGeek Sketches -> geekbot-master -> Geekbot_V3 -> geekbotV3LineFollowerand upload the code to your Geekduino.
You'll need to place a black line on light flooring, or a white line on dark flooring for the geekbot to follow. We use Electrical Tape to lay down the lines because it adheres well, has bold color that the sensor reads well, and doesn't leave any residue on the floor! A good test pattern is a circle.
If you have a light line on dark flooring, you'll have to set invert bits in the code. Check out lines 162-165:
//Default: dark on light mySensorBar.clearInvertBits(); //Other option: light line on dark //mySensorBar.setInvertBits();For a dark line on light floor, leave
mySensorBar.clearInvertBits();uncommented. For a light line on dark floor, //comment out
Once you have the sensor bar configured, all you have to do is turn on the geekbot, set it on the line, and watch it go! You can adjust the trim on the fly with the Rotation Knob. If your geekbot is having trouble finding the line, you can adjust the sensitivity of the Line Following Array by turning the blue knob on it.
PC Control These demos and projects allow the robot to be controlled via a computer.
ArbotiX Commander Control - These demos and projects control the Robot using the ArbotiX Commander, the handheld Arduino based remote control.
Direct Control - These demos and projects control the Robot directly from sensors connected directly to the Robot's control board.
Pose Control - These demos and projects allow you to create and playback a sequence of poses.
Serial Control - These demos and projects control the robot using a serial packet protocol.
Standalone - These demos and projects are deisgned to let your robot function without a computer or additional microcontroller.
Wireless Control - These demos and projects allow you to control the robot wirelessly - usually by replacing the Serial Connection with XBee modules.
Reference - These articles have technical details regarding the control and operation of the robot.
More info here