diff options
author | Cristian Maglie <c.maglie@bug.st> | 2013-06-01 23:16:02 +0200 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2013-06-01 23:16:02 +0200 |
commit | 177ad96f866714a4962be57f69cd3d5a6334cde1 (patch) | |
tree | 1072239986340d6a239adac924eddf2e1d1ca566 /libraries/TFT/examples/Esplora/EsploraTFTEtchASketch | |
parent | 6cff36ac5e85c74bcb45cc53491ad69d64520b36 (diff) | |
parent | d90fcca5839d13d57ed527d4009b78d22dafbde7 (diff) |
Merge branch 'merge-1.0.5' into ide-1.5.x-discovery
Diffstat (limited to 'libraries/TFT/examples/Esplora/EsploraTFTEtchASketch')
-rw-r--r-- | libraries/TFT/examples/Esplora/EsploraTFTEtchASketch/EsploraTFTEtchASketch.ino | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/libraries/TFT/examples/Esplora/EsploraTFTEtchASketch/EsploraTFTEtchASketch.ino b/libraries/TFT/examples/Esplora/EsploraTFTEtchASketch/EsploraTFTEtchASketch.ino new file mode 100644 index 0000000..a1430d3 --- /dev/null +++ b/libraries/TFT/examples/Esplora/EsploraTFTEtchASketch/EsploraTFTEtchASketch.ino @@ -0,0 +1,83 @@ +/* + + Esplora TFT EtchASketch + + This example for the Arduino TFT and Esplora draws + a white line on the screen, based on the position + of the joystick. To clear the screen, shake the + Esplora, using the values from the accelerometer. + + This example code is in the public domain. + + Created 15 April 2013 by Scott Fitzgerald + + http://arduino.cc/en/Tutorial/EsploraTFTEtchASketch + + */ + +#include <Esplora.h> +#include <TFT.h> // Arduino LCD library +#include <SPI.h> + +// initial position of the cursor +int xPos = EsploraTFT.width()/2; +int yPos = EsploraTFT.height()/2; + +void setup() { + // initialize the display + EsploraTFT.begin(); + + // clear the background + EsploraTFT.background(0,0,0); +} + +void loop() +{ + + int xAxis = Esplora.readJoystickX(); // read the X axis + int yAxis = Esplora.readJoystickY(); // read the Y axis + + // update the position of the line + // depending on the position of the joystick + if (xAxis<10 && xAxis>-10){ + xPos=xPos; + } + else{ + xPos = xPos + (map(xAxis, -512, 512, 2, -2)); + } + if (yAxis<10 && yAxis>-10){ + yAxis=yAxis; + } + else{ + yPos = yPos + (map(yAxis, -512, 512, -2, 2)); + } + +// don't let the point go past the screen edges + if(xPos > 159){ + (xPos = 159); + } + + if(xPos < 0){ + (xPos = 0); + } + if(yPos > 127){ + (yPos = 127); + } + + if(yPos < 0){ + (yPos = 0); + } + + // draw the point + EsploraTFT.stroke(255,255,255); + EsploraTFT.point(xPos,yPos); + + // check the accelerometer values and clear + // the screen if it is being shaken + if(abs(Esplora.readAccelerometer(X_AXIS))>200 || abs(Esplora.readAccelerometer(Y_AXIS))>200){ + EsploraTFT.background(0,0,0); + } + + delay(33); +} + |