-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Expand file tree
/
Copy pathmain.cpp
More file actions
62 lines (56 loc) · 1.12 KB
/
main.cpp
File metadata and controls
62 lines (56 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <Arduino.h>
#include "Mouse.h"
#include "Joystick.h"
#define LED PC13
#define HIGHPIN A7
#define ADCPIN A6
#define LOWPIN A5
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID,
JOYSTICK_TYPE_JOYSTICK, 0, 0,
true, false, false, false, false, false,
false, false, false, false, false);
int analogvalue = 0;
void setup()
{
Joystick.setXAxisRange(0, 255);
Joystick.begin();
Mouse.begin();
USB_Begin();
pinMode(HIGHPIN, OUTPUT);
pinMode(ADCPIN, INPUT);
pinMode(LOWPIN, OUTPUT);
digitalWrite(HIGHPIN, HIGH);
digitalWrite(LOWPIN, LOW);
pinMode(LED, OUTPUT);
}
bool high = false;
int loops = 0;
void loop()
{
auto last = analogvalue;
auto val = analogRead(ADCPIN);
analogvalue <<= 1;
analogvalue += val;
analogvalue /= 3;
if (analogvalue >> 2 != last >> 2)
{
Joystick.setXAxis(analogvalue >> 2);
}
delay(1);
loops++;
if (loops >= 500)
{
// every 500ms
loops = 0;
high = !high;
digitalWrite(LED, high ? HIGH : LOW);
if (high)
{
Mouse.move(10, 0);
}
else
{
Mouse.move(-10, 0);
}
}
}