#define VERT_PIN A0
#define HORZ_PIN A1
#define SEL_PIN 2
void setup() {
pinMode(VERT_PIN, INPUT);
pinMode(HORZ_PIN, INPUT);
pinMode(SEL_PIN, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
int vert = analogRead(VERT_PIN);
int horz = analogRead(HORZ_PIN);
bool selPressed = digitalRead(SEL_PIN) == LOW;
// horz goes from 0 (right) to 1023 (left)
// vert goes from 0 (bottom) to 1023 (top)
// selPressed is true is the joystick is pressed
int jph = map(horz, 0, 1023, -100, 100);
int jpv = map(vert, 0, 1023, -100, 100);
Serial.print("Pos : ");
if(jph == 0 && jpv == 0){
Serial.println("Middle");
}else if(jph == 100 && jpv == 100){
Serial.println("TopLeft");
}else if(jph == 100 && jpv == -100){
Serial.println("TopRight");
}else if(jph == 0 && jpv == -100){
Serial.println("Right");
}else if(jph == 0 && jpv == 100){
Serial.println("Left");
}else if(jph == -100 && jpv == 100){
Serial.println("BottomLeft");
}else if(jph == -100 && jpv == -100){
Serial.println("ButtomRight");
}else if(jph == -100 && jpv == 0){
Serial.println("Bottom");
}else if(jph == 100 && jpv == 0){
Serial.println("Top");
}
}