2012-12-23 17:55:59 +01:00
|
|
|
/*
|
|
|
|
Esplora Joystick Mouse
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-12-23 17:55:59 +01:00
|
|
|
This sketch shows you how to read the joystick and use it to control the movement
|
|
|
|
of the cursor on your computer. You're making your Esplora into a mouse!
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-12-23 17:55:59 +01:00
|
|
|
WARNING: this sketch will take over your mouse movement. If you lose control
|
|
|
|
of your mouse do the following:
|
|
|
|
1) unplug the Esplora.
|
|
|
|
2) open the EsploraBlink sketch
|
|
|
|
3) hold the reset button down while plugging your Esplora back in
|
|
|
|
4) while holding reset, click "Upload"
|
|
|
|
5) when you see the message "Done compiling", release the reset button.
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-12-23 17:55:59 +01:00
|
|
|
This will stop your Esplora from controlling your mouse while you upload a sketch
|
|
|
|
that doesn't take control of the mouse.
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-12-23 17:55:59 +01:00
|
|
|
Created on 22 Dec 2012
|
|
|
|
by Tom Igoe
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-12-23 17:55:59 +01:00
|
|
|
This example is in the public domain.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <Esplora.h>
|
|
|
|
|
|
|
|
void setup()
|
|
|
|
{
|
|
|
|
Serial.begin(9600); // initialize serial communication with your computer
|
|
|
|
Mouse.begin(); // take control of the mouse
|
2013-10-21 09:58:40 +02:00
|
|
|
}
|
2012-12-23 17:55:59 +01:00
|
|
|
|
|
|
|
void loop()
|
|
|
|
{
|
|
|
|
int xValue = Esplora.readJoystickX(); // read the joystick's X position
|
|
|
|
int yValue = Esplora.readJoystickY(); // read the joystick's Y position
|
|
|
|
int button = Esplora.readJoystickSwitch(); // read the joystick pushbutton
|
|
|
|
Serial.print("Joystick X: "); // print a label for the X value
|
|
|
|
Serial.print(xValue); // print the X value
|
|
|
|
Serial.print("\tY: "); // print a tab character and a label for the Y value
|
|
|
|
Serial.print(yValue); // print the Y value
|
|
|
|
Serial.print("\tButton: "); // print a tab character and a label for the button
|
|
|
|
Serial.print(button); // print the button value
|
|
|
|
|
2013-10-21 09:58:40 +02:00
|
|
|
int mouseX = map( xValue, -512, 512, 10, -10); // map the X value to a range of movement for the mouse X
|
|
|
|
int mouseY = map( yValue, -512, 512, -10, 10); // map the Y value to a range of movement for the mouse Y
|
2012-12-23 17:55:59 +01:00
|
|
|
Mouse.move(mouseX, mouseY, 0); // move the mouse
|
2013-10-21 09:58:40 +02:00
|
|
|
|
2012-12-23 17:55:59 +01:00
|
|
|
delay(10); // a short delay before moving again
|
|
|
|
}
|
|
|
|
|