source: rtos_arduino/trunk/arduino_lib/libraries/Robot_Control/examples/explore/R02_Line_Follow/R02_Line_Follow.ino@ 136

Last change on this file since 136 was 136, checked in by ertl-honda, 8 years ago

ライブラリとOS及びベーシックなサンプルの追加.

File size: 2.1 KB
Line 
1/* Robot Line Follow
2
3 This sketch demonstrates the line following capabilities
4 of the Arduino Robot. On the floor, place some black
5 electrical tape along the path you wish the robot to follow.
6 To indicate a stopping point, place another piece of tape
7 perpendicular to the path.
8
9 Circuit:
10 * Arduino Robot
11
12 created 1 May 2013
13 by X. Yang
14 modified 12 May 2013
15 by D. Cuartielles
16
17 This example is in the public domain
18 */
19
20#include <ArduinoRobot.h> // include the robot library
21#include <Wire.h>
22#include <SPI.h>
23
24long timerOrigin; // used for counting elapsed time
25
26void setup() {
27 // initialize the Robot, SD card, display, and speaker
28 Robot.begin();
29 Robot.beginTFT();
30 Robot.beginSD();
31 Robot.beginSpeaker();
32
33 // show the logots on the TFT screen
34 Robot.displayLogos();
35
36 Robot.drawBMP("lf.bmp", 0, 0); // display background image
37
38 Robot.playFile("chase.sqm"); // play a song from the SD card
39
40 // add the instructions
41 Robot.text("Line Following\n\n place the robot on\n the track and \n see it run", 5, 5);
42 Robot.text("Press the middle\n button to start...", 5, 61);
43 Robot.waitContinue();
44
45 // These are some general values that work for line following
46 // uncomment one or the other to see the different behaviors of the robot
47 //Robot.lineFollowConfig(14, 9, 50, 10);
48 Robot.lineFollowConfig(11, 7, 60, 5);
49
50
51 //set the motor board into line-follow mode
52 Robot.setMode(MODE_LINE_FOLLOW);
53
54 // start
55 Robot.fill(255, 255, 255);
56 Robot.stroke(255, 255, 255);
57 Robot.rect(0, 0, 128, 80); // erase the previous text
58 Robot.stroke(0, 0, 0);
59 Robot.text("Start", 5, 5);
60
61 Robot.stroke(0, 0, 0); // choose color for the text
62 Robot.text("Time passed:", 5, 21); // write some text to the screen
63
64 timerOrigin = millis(); // keep track of the elapsed time
65
66 while (!Robot.isActionDone()) { //wait for the finish signal
67 Robot.debugPrint(millis() - timerOrigin, 5, 29); // show how much time has passed
68 }
69
70 Robot.stroke(0, 0, 0);
71 Robot.text("Done!", 5, 45);
72}
73void loop() {
74 //nothing here, the program only runs once. Reset the robot
75 //to do it again!
76}
Note: See TracBrowser for help on using the repository browser.