aboutsummaryrefslogtreecommitdiff
path: root/libraries/Robot_Control/examples/explore/R09_Picture_Browser
diff options
context:
space:
mode:
authorFede85 <f.vanzati@gmail.com>2013-07-03 22:00:02 +0200
committerFede85 <f.vanzati@gmail.com>2013-07-03 22:00:02 +0200
commitfd8c367304fe62a107332db19880c88f9ac0d082 (patch)
treea6a2713b1e788a2eb6f95ef701a0a01e0d258c67 /libraries/Robot_Control/examples/explore/R09_Picture_Browser
parentcb3003082e7e140850071eba914c0b4347bc3bf1 (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.ino159
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);
-}
-