diff options
Diffstat (limited to 'libraries/Robot_Control/examples/explore/R02_Line_Follow')
-rw-r--r-- | libraries/Robot_Control/examples/explore/R02_Line_Follow/R02_Line_Follow.ino | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/libraries/Robot_Control/examples/explore/R02_Line_Follow/R02_Line_Follow.ino b/libraries/Robot_Control/examples/explore/R02_Line_Follow/R02_Line_Follow.ino new file mode 100644 index 0000000..58de253 --- /dev/null +++ b/libraries/Robot_Control/examples/explore/R02_Line_Follow/R02_Line_Follow.ino @@ -0,0 +1,73 @@ +/* Robot Line Follow + + This sketch demonstrates the line following capabilities + of the Arduino Robot. On the floor, place some black + electrical tape along the path you wish the robot to follow. + To indicate a stopping point, place another piece of tape + perpendicular to the path. + + Circuit: + * Arduino Robot + + created 1 May 2013 + by X. Yang + modified 12 May 2013 + by D. Cuartielles + + This example is in the public domain + */ + +#include <ArduinoRobot.h> // include the robot library + +long timerOrigin; // used for counting elapsed time + +void setup() { + // initialize the Robot, SD card, display, and speaker + Robot.begin(); + Robot.beginTFT(); + Robot.beginSD(); + Robot.beginSpeaker(); + + // show the logots on the TFT screen + Robot.displayLogos(); + + Robot.drawBMP("lf.bmp", 0, 0); // display background image + + Robot.playFile("chase.sqm"); // play a song from the SD card + + // add the instructions + Robot.text("Line Following\n\n place the robot on\n the track and \n see it run", 5, 5); + Robot.text("Press the middle\n button to start...", 5, 61); + Robot.waitContinue(); + + // These are some general values that work for line following + // uncomment one or the other to see the different behaviors of the robot + // Robot.lineFollowConfig(11, 5, 50, 10); + Robot.lineFollowConfig(14, 9, 50, 10); + + //set the motor board into line-follow mode + Robot.setMode(MODE_LINE_FOLLOW); + + // start + Robot.fill(255, 255, 255); + Robot.stroke(255, 255, 255); + Robot.rect(0, 0, 128, 80); // erase the previous text + Robot.stroke(0, 0, 0); + Robot.text("Start", 5, 5); + + Robot.stroke(0, 0, 0); // choose color for the text + Robot.text("Time passed:", 5, 21); // write some text to the screen + + timerOrigin=millis(); // keep track of the elapsed time + + while(!Robot.isActionDone()) { //wait for the finish signal + Robot.debugPrint(millis()-timerOrigin, 5, 29); // show how much time has passed + } + + Robot.stroke(0, 0, 0); + Robot.text("Done!", 5, 45); +} +void loop() { + //nothing here, the program only runs once. Reset the robot + //to do it again! +} |