// #define VRX_PIN A0 // Arduino pin connected to VRX pin
// #define VRY_PIN A1 // Arduino pin connected to VRY pin
#define VRX_PIN 2 // ESP32
#define VRY_PIN 4 // ESP32
#define COMMAND_ZERO 0
#define COMMAND_LEFT 1
#define COMMAND_RIGHT 2
#define COMMAND_UP 3
#define COMMAND_DOWN 4
#define LEFT_THRESHOLD 1000
#define RIGHT_THRESHOLD 3000
#define UP_THRESHOLD 1000
#define DOWN_THRESHOLD 3000
int command = COMMAND_ZERO;
int valueX = 0; // To store value of the X axis
int valueY = 0; // To store value of the Y axis
void setup() {
Serial.begin(115200) ;
}
void loop() {
// read analog X and Y analog values
valueX = analogRead(VRX_PIN);
valueY = analogRead(VRY_PIN);
// print data to Serial Monitor on Arduino IDE
Serial.print("x = ");
Serial.print(valueX);
Serial.print(", y = ");
Serial.print(valueY);
command = COMMAND_ZERO;
if (valueX < LEFT_THRESHOLD)
command = COMMAND_LEFT;
else if (valueX > RIGHT_THRESHOLD)
command = COMMAND_RIGHT;
// check up/down commands
if (valueY < UP_THRESHOLD)
command = COMMAND_UP;
else if (valueY > DOWN_THRESHOLD)
command = COMMAND_DOWN;
Serial.print("\t");
switch (command) {
case 0: { Serial.println("COMMAND STOP");
break; }
case 1: { Serial.println("COMMAND LEFT");
break; }
case 2: { Serial.println("COMMAND RIGHT");
break; }
case 3: { Serial.println("COMMAND FORW");
break; }
case 4: { Serial.println("COMMAND REV");
break; }
default:{ Serial.println("COMMAND STOP");
break; }
}
delay(200);
}