arduino stuffs
Diffstat (limited to 'libraries/TFT/examples/Arduino/TFTEtchASketch/TFTEtchASketch.ino')
-rw-r--r--libraries/TFT/examples/Arduino/TFTEtchASketch/TFTEtchASketch.ino83
1 files changed, 83 insertions, 0 deletions
diff --git a/libraries/TFT/examples/Arduino/TFTEtchASketch/TFTEtchASketch.ino b/libraries/TFT/examples/Arduino/TFTEtchASketch/TFTEtchASketch.ino
new file mode 100644
index 0000000..4eb75d1
--- /dev/null
+++ b/libraries/TFT/examples/Arduino/TFTEtchASketch/TFTEtchASketch.ino
@@ -0,0 +1,83 @@
+/*
+
+ TFT EtchASketch
+
+ This example for the Arduino screen draws a white point
+ on the GLCD based on the values of 2 potentiometers.
+ To clear the screen, press a button attached to pin 2.
+
+ This example code is in the public domain.
+
+ Created 15 April 2013 by Scott Fitzgerald
+
+ http://www.arduino.cc/en/Tutorial/TFTEtchASketch
+
+ */
+
+#include <TFT.h> // Arduino LCD library
+#include <SPI.h>
+
+// pin definition for the Uno
+#define cs 10
+#define dc 9
+#define rst 8
+
+// pin definition for the Leonardo
+// #define cs 7
+// #define dc 0
+// #define rst 1
+
+TFT TFTscreen = TFT(cs, dc, rst);
+
+// initial position of the cursor
+int xPos = TFTscreen.width() / 2;
+int yPos = TFTscreen.height() / 2;
+
+// pin the erase switch is connected to
+int erasePin = 2;
+
+void setup() {
+ // declare inputs
+ pinMode(erasePin, INPUT);
+ // initialize the screen
+ TFTscreen.begin();
+ // make the background black
+ TFTscreen.background(0, 0, 0);
+}
+
+void loop() {
+ // read the potentiometers on A0 and A1
+ int xValue = analogRead(A0);
+ int yValue = analogRead(A1);
+
+ // map the values and update the position
+ xPos = xPos + (map(xValue, 0, 1023, 2, -2));
+ yPos = yPos + (map(yValue, 0, 1023, -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
+ TFTscreen.stroke(255, 255, 255);
+ TFTscreen.point(xPos, yPos);
+
+ // read the value of the pin, and erase the screen if pressed
+ if (digitalRead(erasePin) == HIGH) {
+ TFTscreen.background(0, 0, 0);
+ }
+
+ delay(33);
+}