diff options
author | Fede85 <f.vanzati@gmail.com> | 2013-07-03 22:00:02 +0200 |
---|---|---|
committer | Fede85 <f.vanzati@gmail.com> | 2013-07-03 22:00:02 +0200 |
commit | fd8c367304fe62a107332db19880c88f9ac0d082 (patch) | |
tree | a6a2713b1e788a2eb6f95ef701a0a01e0d258c67 /libraries/Robot_Control/examples/explore/R09_Picture_Browser | |
parent | cb3003082e7e140850071eba914c0b4347bc3bf1 (diff) |
SPI library to the new format and moved Robot_Motor and Robot_Control libraries
Diffstat (limited to 'libraries/Robot_Control/examples/explore/R09_Picture_Browser')
-rw-r--r-- | libraries/Robot_Control/examples/explore/R09_Picture_Browser/R09_Picture_Browser.ino | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/libraries/Robot_Control/examples/explore/R09_Picture_Browser/R09_Picture_Browser.ino b/libraries/Robot_Control/examples/explore/R09_Picture_Browser/R09_Picture_Browser.ino deleted file mode 100644 index a43348c..0000000 --- a/libraries/Robot_Control/examples/explore/R09_Picture_Browser/R09_Picture_Browser.ino +++ /dev/null @@ -1,159 +0,0 @@ -/* Picture Browser - - You can make your own gallery/picture show with the - Robot. Put some pictures on the SD card, start the - sketch, they will diplay on the screen. - - Use the left/right buttons to navigate through the - previous and next images. - - Press up or down to enter a mode where you change - the pictures by rotating the robot. - - You can add your own pictures onto the SD card, and - view them in the Robot's gallery! - - Pictures must be uncompressed BMP, 24-bit color depth, - 160 pixels wide, and 128 pixels tall. - - They should be named as "picN.bmp". Replace 'N' with a - number between 0 and 9. - - The current code only supports 10 pictures. How would you - improve it to handle more? - - 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 - -const int NUM_PICS = 4; //Total number of pictures in Gallery - -// name the modes -const int CONTROL_MODE_KEY = 0; -const int CONTROL_MODE_COMPASS = 1; - -char buffer[] = "pic1.bmp"; // current file name -int i = 1; // Current gallery sequence counter -int mode = 0; // Current mode - -// text to display on screen -char modeNames[][9] = { "keyboard", "tilt " }; - -void setup() { - // initialize the Robot, SD card, display, and speaker - Robot.beginSD(); - Robot.beginTFT(); - Robot.begin(); - - // draw "lg0.bmp" and "lg1.bmp" on the screen - Robot.displayLogos(); - - // draw init3.bmp from the SD card on the screen - Robot.drawBMP("init3.bmp", 0, 0); - - // display instructions - Robot.stroke(0, 0, 0); - Robot.text("The gallery\n\n has 2 modes, in\n keyboard mode, L/R\n key for switching\n pictures, U/D key\n for changing modes", 5, 5); - delay(6000); - Robot.clearScreen(); - Robot.drawBMP("pb.bmp", 0, 0); - Robot.text("In tilt mode,\n quickly tilt the\n robot to switch\n pictures", 5, 5); - delay(4000); -} - -void loop() { - buffer[3] = '0'+i;// change filename of the img to be displayed - Robot.drawBMP(buffer, 0, 0); // draw the file on the screen - // change control modes - switch(mode) { - case CONTROL_MODE_COMPASS: - compassControl(3); - break; - case CONTROL_MODE_KEY: - keyboardControl(); - break; - } - delay(200); -} - -void keyboardControl() { - //Use buttons to control the gallery - while(true) { - int keyPressed = Robot.keyboardRead(); // read the button values - switch(keyPressed) { - case BUTTON_LEFT: // display previous picture - if(--i < 1) i = NUM_PICS; - return; - case BUTTON_MIDDLE: // do nothing - case BUTTON_RIGHT: // display next picture - if(++i > NUM_PICS) i = 1; - return; - case BUTTON_UP: // change mode - changeMode(-1); - return; - case BUTTON_DOWN: // change mode - changeMode(1); - return; - } - } -} - -// if controlling by the compass -void compassControl(int change) { - // Rotate the robot to change the pictures - while(true) { - // read the value of the compass - int oldV = Robot.compassRead(); - - //get the change of angle - int diff = Robot.compassRead()-oldV; - if(diff > 180) diff -= 360; - else if(diff < -180) diff += 360; - - if(abs(diff) > change) { - if(++i > NUM_PICS) i = 1; - return; - } - - // chage modes, if buttons are pressed - int keyPressed = Robot.keyboardRead(); - switch(keyPressed) { - case BUTTON_UP: - changeMode(-1); - return; - case BUTTON_DOWN: - changeMode(1); - return; - } - delay(10); - } -} - -// Change the control mode and display it on the LCD -void changeMode(int changeDir) { - // alternate modes - mode += changeDir; - if(mode < 0) { - mode = 1; - } else if(mode > 1) - mode=0; - - // display the mode on screen - Robot.fill(255, 255, 255); - Robot.stroke(255, 255, 255); - Robot.rect(0, 0, 128, 12); - Robot.stroke(0, 0, 0); - Robot.text("Control:", 2, 2); - Robot.text(modeNames[mode], 52, 2); - delay(1000); -} - |