Analogic Joystick "Problema col codice"

Ciao a tutti, sto realizzando un progetto nel quale voglio utilizzare un Joystick analogico, voglio assegnare alla variante “a” il valore 0 se il joystick punta verso sinistra e 1 se il joystick punta verso destra. Arduino riconosce perfettamente i movimenti del Joystick solo che la variante a ha sempre valore 0, come dovrei risolvere questo problema

Grazie in anticipo

const int Y_pin = 1;
int a = 999;

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println(analogRead(Y_pin));
  Serial.print("\n\n");
  delay(500);
  if (Y_pin < 500){
    a = 0;
    Serial.println(a);
  }
  else if (Y_pin > 500){
    a = 1;
    Serial.println(a);
}
}

Guarda che tu stai confrontanto NON il valore letto (che stampi solo ma NON salvi), ma il numero del pin (Y_pin) che ... è sempre 1 ... ::slight_smile:

Devi mettere il valore letto dalla analogRead() in una variabile e quindi confrontare il valore letto.

Guglielmo

ok grazie ho risolto :slight_smile: :slight_smile:

const int Y_pin = 1;
int a = 999;
void setup() {
  Serial.begin(9600);
}

void loop() {
  int b = analogRead (Y_pin);
  delay(10);
  if (b < 495){
    a = 0;
    Serial.println(a);
  }
  else if (b > 495){
    a = 2;
    Serial.println(a);
}
 else if (b = 495){
    a = 1;
    Serial.println(a);
 }
 }

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.