Stap 5: De Code
Hier is de code. Gewoon kopiëren en plakken en uw goed om te gaan!
Opmerking: U kunt de coördinaten van die de muis is in het gebruik van de seriële monitor weergeven, maar soms het Arduino zal veroorzaken om te verpletteren.
#include <Esplora.h> #include <Mouse.h>
void setup() { Mouse.begin(); }
int oldScrollUp = 0; int oldScrollDown = 0; int stateTime = 0;
#define THRESHOLD 20
void loop() { int xValue = Esplora.readJoystickX(); int yValue = Esplora.readJoystickY(); 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 int leftButton = Esplora.readJoystickSwitch() && Esplora.readButton(SWITCH_LEFT); int rightButton = Esplora.readButton(SWITCH_RIGHT); int scrollUp = Esplora.readButton(SWITCH_UP); int scrollDown = Esplora.readButton(SWITCH_DOWN); int range = Esplora.readSlider(); int mouseRange = map(range, 0, 1023, 2, 10); int mouseX = (xValue < THRESHOLD && xValue > -THRESHOLD) ? 0 : map(xValue, -512, 512, mouseRange, -mouseRange); int mouseY = (yValue < THRESHOLD && yValue > -THRESHOLD) ? 0 : map(yValue, -512, 512, -mouseRange, mouseRange); int wheel = 0; if (oldScrollUp != scrollUp || oldScrollDown != scrollDown) { wheel = (scrollUp != scrollDown) ? (scrollUp ? -mouseRange : mouseRange) : 0; oldScrollUp = scrollUp; oldScrollDown = scrollDown; stateTime = millis(); } else if ((millis() - stateTime) % 100 == 0 && (millis() - stateTime) >= 1000) { wheel = (scrollUp != scrollDown) ? (scrollUp ? -mouseRange : mouseRange) : 0; } Mouse.move(mouseX, mouseY, wheel); if (!leftButton) Mouse.press(MOUSE_LEFT); else Mouse.release(MOUSE_LEFT); if (!rightButton) Mouse.press(MOUSE_RIGHT); else Mouse.release(MOUSE_RIGHT); }
Laat me weten als je het geprobeerd! Reactie hieronder.