aboutsummaryrefslogtreecommitdiff
path: root/libraries/Robot_Control/examples/explore/R01_Logo
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Robot_Control/examples/explore/R01_Logo')
-rw-r--r--libraries/Robot_Control/examples/explore/R01_Logo/R01_Logo.ino134
1 files changed, 0 insertions, 134 deletions
diff --git a/libraries/Robot_Control/examples/explore/R01_Logo/R01_Logo.ino b/libraries/Robot_Control/examples/explore/R01_Logo/R01_Logo.ino
deleted file mode 100644
index 794479e..0000000
--- a/libraries/Robot_Control/examples/explore/R01_Logo/R01_Logo.ino
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Robot Logo
-
- This sketch demonstrates basic movement of the Robot.
- When the sketch starts, press the on-board buttons to tell
- the robot how to move. Pressing the middle button will
- save the pattern, and the robot will follow accordingly.
- You can record up to 20 commands. The robot will move for
- one second per command.
-
- This example uses images on an SD card. It looks for
- files named "lg0.bmp" and "lg1.bmp" and draws them on the
- screen.
-
- 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
-
-int commands[20]; // array for storing commands
-
-void setup() {
- // initialize the Robot, SD card, and display
- Robot.begin();
- Robot.beginTFT();
- Robot.beginSD();
-
- // draw "lg0.bmp" and "lg1.bmp" on the screen
- Robot.displayLogos();
-}
-
-void loop() {
-
- Robot.drawBMP("intro.bmp", 0, 0); //display background image
-
- iniCommands(); // remove commands from the array
- addCommands(); // add commands to the array
-
- delay(1000); // wait for a second
-
- executeCommands(); // follow orders
-
- Robot.stroke(0,0,0);
- Robot.text("Done!", 5, 103); // write some text to the display
- delay(1500); // wait for a moment
-}
-
-// empty the commands array
-void iniCommands() {
- for(int i=0; i<20; i++)
- commands[i]=-1;
-}
-
-// add commands to the array
-void addCommands() {
- Robot.stroke(0,0,0);
- // display text on the screen
- Robot.text("1. Press buttons to\n add commands.\n\n 2. Middle to finish.", 5, 5);
-
- // read the buttons' state
- for(int i=0; i<20;) { //max 20 commands
- int key = Robot.keyboardRead();
- if(key == BUTTON_MIDDLE) { //finish input
- break;
- }else if(key == BUTTON_NONE) { //if no button is pressed
- continue;
- }
- commands[i] = key; // save the button to the array
- PrintCommandI(i, 46); // print the command on the screen
- delay(100);
- i++;
- }
-}
-
-// run through the array and move the robot
-void executeCommands() {
- // print status to the screen
- Robot.text("Excuting...",5,70);
-
- // read through the array and move accordingly
- for(int i=0; i<20; i++) {
- switch(commands[i]) {
- case BUTTON_LEFT:
- Robot.turn(-90);
- break;
- case BUTTON_RIGHT:
- Robot.turn(90);
- break;
- case BUTTON_UP:
- Robot.motorsWrite(255, 255);
- break;
- case BUTTON_DOWN:
- Robot.motorsWrite(-255, -255);
- break;
- case BUTTON_NONE:
- return;
- }
- // print the current command to the screen
- Robot.stroke(255,0,0);
- PrintCommandI(i, 86);
- delay(1000);
-
- // stop moving for a second
- Robot.motorsStop();
- delay(1000);
- }
-}
-
-// convert the button press to a single character
-char keyToChar(int key) {
- switch(key) {
- case BUTTON_LEFT:
- return '<';
- case BUTTON_RIGHT:
- return '>';
- case BUTTON_UP:
- return '^';
- case BUTTON_DOWN:
- return 'v';
- }
-}
-
-// display a command
-void PrintCommandI(int i, int originY) {
- Robot.text(keyToChar(commands[i]), i%14*8+5, i/14*10+originY);
-}
-