Error (Was not declared in the scope)

Buenos días a todos, soy nuevo y quiero compartirles mi problema, termine de hacer un programa para un ascensor de 3 niveles pero cuando voy a compilar me sale que todas las variables que he declarado en el void setup ejemplo (int PB = 8;) entre otras, el compilador me dice que no esta declarado, quisiera saber si es error del programa ide o es un error mio.

otra cosa, cuando le quito las variables y solo le pongo el número de pin a programar si compila, ejemplo digitalWrite (11, HIGH);
el error lo da es cuando declaro las variables : o

este es el código

void setup() {

  int Sensor_PB = 2;
  int Sensor_1 = 3;
  int Sensor_2 = 4;
  int LED_PB = 5;
  int LED_P1 = 6;
  int LED_P2 = 7;
  int PB = 8;
  int P1 = 9;
  int P2 = 10;
  int SUBIR = 11;
  int BAJAR = 12;

  pinMode (Sensor_PB, INPUT_PULLUP);                   // Sensor Planta Baja
  pinMode (Sensor_1, INPUT_PULLUP);                   // Sensor Piso 1
  pinMode (Sensor_2, INPUT_PULLUP);                   // Sensor Piso 2
  pinMode (LED_PB, OUTPUT);                           // Led PB
  pinMode (LED_P1, OUTPUT);                           // Led P1
  pinMode (LED_P2, OUTPUT);                           // Led P2
  pinMode (PB, INPUT_PULLUP);                         // Boton Planta Baja
  pinMode (P1, INPUT_PULLUP);                         // Boton piso 1
  pinMode (P2, INPUT_PULLUP);                         // Boton Piso 2
  pinMode (SUBIR, OUTPUT);                            // Subir Cabina
  pinMode (BAJAR, OUTPUT);                            // Bajar Cabina
  digitalWrite (SUBIR, LOW);
  digitalWrite (BAJAR, LOW);

}

void loop ()  {

  if ((digitalRead (PB) == LOW) && digitalRead (Sensor_PB) == HIGH) {
    digitalWrite (BAJAR, HIGH);
    digitalWrite (LED_PB, HIGH);
    while (digitalRead (Sensor_0) == HIGH) {  // Sensor Planta Baja
    }
    digitalWrite (BAJAR, LOW);
    digitalWrite (LED_PB, LOW);
  }
  else
    digitalWrite (BAJAR, LOW);
  digitalWrite (LED_PB, LOW);

  if ((digitalRead (P1) == LOW) && digitalRead (Sensor_1) == HIGH)  {
    digitalWrite (SUBIR, HIGH);
    digitalWrite (LED_P1, HIGH);
    while (digitalRead (Sensor_1) == HIGH) {  // Sensor Piso 1
    }
    digitalWrite (SUBIR, LOW);
    digitalWrite (LED_P1, LOW);

  }

  if ((digitalRead (P2) == LOW) && digitalRead (Sensor_2) == HIGH) {
    digitalWrite (SUBIR, HIGH);
    digitalWrite (LED_P2, HIGH);
    while (digitalRead (Sensor_2) == HIGH)  { //Sensor  Piso 2

      digitalWrite (SUBIR, HIGH);
      digitalWrite (LED_P2, HIGH);
    }
  }
  else
    digitalWrite (SUBIR, LOW);
  digitalWrite (LED_P2, LOW);


  if ((digitalRead (P1) == LOW) && digitalRead (Sensor_2) == LOW) {
    digitalWrite (BAJAR, HIGH);
    digitalWrite (LED_P1, HIGH);

    while (digitalRead (Sensor_1) == HIGH) {
      digitalWrite (BAJAR, HIGH);
      digitalWrite (LED_P1, HIGH);
    }
  }
  else
    digitalWrite (BAJAR, LOW);
  digitalWrite (LED_P1, LOW);
}

muchas gracias de antemano por su tiempo :slight_smile:

You have declared all your variables inside of setup(). They go out of scope as soon as setup() is finished.

Sensor_0 was not declared anywhere.

To start with, move all of these variable declarations above the setup function:

  int Sensor_PB = 2;
  int Sensor_1 = 3;
  int Sensor_2 = 4;
  int LED_PB = 5;
  int LED_P1 = 6;
  int LED_P2 = 7;
  int PB = 8;
  int P1 = 9;
  int P2 = 10;
  int SUBIR = 11;
  int BAJAR = 12;

Those could all be byte also, instead of int, as none are larger than 255.

gracias a todos por la ayuda, hice lo que me dijeron y si compilo, gracias amigos