diff options
Diffstat (limited to 'libraries/Robot_Control/examples/explore/R10_Rescue/R10_Rescue.ino')
-rw-r--r-- | libraries/Robot_Control/examples/explore/R10_Rescue/R10_Rescue.ino | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/libraries/Robot_Control/examples/explore/R10_Rescue/R10_Rescue.ino b/libraries/Robot_Control/examples/explore/R10_Rescue/R10_Rescue.ino deleted file mode 100644 index 48044db..0000000 --- a/libraries/Robot_Control/examples/explore/R10_Rescue/R10_Rescue.ino +++ /dev/null @@ -1,124 +0,0 @@ -/* Robot Rescue - - In this example, the robot enters the line following mode and - plays some music until it reaches its target. Once it finds the - target, it pushes it out of the track. It then returns to the - track and looks for a second target. - - You can make the robot push as many objects as you want to, just - add more to calls to the rescue function or even move that code - into the loop. - - Circuit: - * Arduino Robot - * some objects for the robot to push - * a line-following circuit - - 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 - -void setup(){ - // initialize the Robot, SD card, display, and speaker - Robot.begin(); - Robot.beginTFT(); - Robot.beginSD(); - Robot.beginSpeaker(); - - // draw "lg0.bmp" and "lg1.bmp" on the screen - Robot.displayLogos(); - - // display the line following instructional image from the SD card - Robot.drawBMP("lf.bmp", 0, 0); - - // play the chase music file - Robot.playFile("chase.sqm"); - - // add the instructions - Robot.text("Rescue\n\n place the robot on\n the rescue track\n pushing the\n obstacles away", 5, 5); - Robot.text("Press the middle\n button to start...", 5, 61); - Robot.waitContinue(); - - // 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); - - // use this to calibrate the line following algorithm - // 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); - - // run the rescue sequence - rescueSequence(); - Robot.text("Found obstacle", 5, 12); - // find the track again - goToNext(); - Robot.text("Found track", 5, 19); - // run the rescue sequence a second time - rescueSequence(); - Robot.text("Found obstacle", 5, 26); - - // here you could go on ... - - // write status on the screen - Robot.stroke(0, 0, 0); - Robot.text("Done!", 5, 25); -} - -void loop(){ - //nothing here, the program only runs once. -} - -// run the sequence -void rescueSequence(){ - //set the motor board into line-follow mode - Robot.setMode(MODE_LINE_FOLLOW); - - while(!Robot.isActionDone()){ // wait until it is no longer following the line - } - delay(1000); - - // do the rescue operation - doRescue(); - delay(1000); -} - -void doRescue(){ - // Reached the endline, engage the target - Robot.motorsWrite(200,200); - delay(250); - Robot.motorsStop(); - delay(1000); - - // Turn the robot - Robot.turn(90); - Robot.motorsStop(); - delay(1000); - - // Move forward - Robot.motorsWrite(200,200); - delay(500); - Robot.motorsStop(); - delay(1000); - - // move backwards, leave the target - Robot.motorsWrite(-200,-200); - delay(500); - Robot.motorsStop(); -} - -void goToNext(){ - // Turn the robot - Robot.turn(-90); - Robot.motorsStop(); - delay(1000); -} |