// Nome: Exercício JoyStick
// Processador: ESP 32
// Compania: FATEC Santo Andre
// Autor: João Paulo Oliveira Santana
// Data:04/09/23
//Ultima mudança: 15:30 de 04/09/2023
// //
#define a 22
#define b 23
#define c 12
#define d 14
#define e 18
#define f 21
#define g 15
int xPin=27;
int yPin=26;
int eixoX=0;
int eixoY=0;
int buttonPin = 2;
int buttonState=0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
void loop() {
// parte do joystick
eixoX=analogRead(xPin);
eixoY=analogRead(yPin);
Serial.print("Posição em X=");
Serial.println(eixoX);
Serial.print("Posição em Y=");
Serial.println(eixoY);
//PARTE DO DISPLAY
//segmento a
if(eixoY==4095 and eixoX==2048){
digitalWrite(a, 0);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
//segmento b
if(eixoX==0 && eixoY==4095){
digitalWrite(a, 1);
digitalWrite(b, 0);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
//segmento c
if(eixoY==0 and eixoX==0){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 0);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
//segmento d
if(eixoY==0 and eixoX==2048){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 0);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
//segmento e
if(eixoY==0 and eixoX==4095){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
//segmentof
if(eixoY==4095 and eixoX==4095){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 0);
digitalWrite(g, 1);
}
//segmento g
if(eixoY==2048 && eixoX==2048){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 0);
}
//só para a esquerda
if(eixoY==2048 and eixoX==4095){
digitalWrite(a, 1);
digitalWrite(b, 1);
digitalWrite(c, 1);
digitalWrite(d, 1);
digitalWrite(e, 0);
digitalWrite(f, 0);
digitalWrite(g, 1);
}
//só para a direita
if(eixoY==2048 and eixoX==0){
digitalWrite(a, 1);
digitalWrite(b, 0);
digitalWrite(c, 0);
digitalWrite(d, 1);
digitalWrite(e, 1);
digitalWrite(f, 1);
digitalWrite(g, 1);
}
delay(100);
}