Variable no declarada pero está bien

Tengo un programa que voy haciendo poco a poco cuando tengo tiempo y hoy de reente me aparece este fallo con una variable bien declarada.

Lo único que he hecho nuevo hoy es crear una variable nueva y al compilar me dice que tengo la variable "mode" sin declarar.

const int pin4 = 4;//para elegir modo juego o modo configuración de huellas
const int B1 = 5 //1º botón
////////////////////////
int mode = 0;
/////////////////////////////
int h = 4; //variable para el loop de borrar todas las huellas que no sean master
int contH = 0;
int time = 1000;
int cuentaAtras = 0;

void setup() {
  lcd.init();//inicializar LCD
  lcd.backlight();//encender luz de fondo LCD
  finger.begin(57600);
  delay(5);
  lcd.clear();
  if (finger.verifyPassword()) {
    lcd.println("Sensor Found");
    delay(1000);
  } else {
    lcd.println("Not found......");
    while (1) {
      delay(1);
    }
  }
  pinMode(pin4, INPUT);
  pinMode(B1, INPUT);
  // put your setup code here, to run once:

}

void loop() {
  mode = digitalRead(pin4);
  if (mode == HIGH) {
    fingerConfig();
    delay(500);
  }
  if (mode == LOW) {
    Juego();
  }

}
/*Hasta aquí todo va bien*/
/*Hasta aquí todo va bien*/
/*Hasta aquí todo va bien*/

/*el fallo aparece en esta función*/
void enrollBomba()                     // run over and over again
{

  borrarHuellas();
  
  contH = finger.templateCount;
///////////////////////
  mode = digitalRead(pin4); //en esta linea dice que no está declarado
////////////////////
  do {
    mode = digitalRead(pin4);
    lcd.clear();
    lcd.print("Ready to enroll");
    contH = contH + 1;
    id = contH;
    lcd.print(id);
    lcd.setCursor(0, 1);
    delay(1000);
    /*if (id == 0) {// ID #0 not allowed, try again!
      return;
      }*/
    lcd.clear();
    lcd.print("Enrolling ID #");
    lcd.print(id);
    delay(1000);

    while (!  getFingerprintEnroll() );
  } while (mode == HIGH);
}

Hola, en primer lugar comparte las librerías que estas utilizando, además veo varios errores en tu código:

const int B1 = 5

no puedes utilizar "B1" ya esta esta reservada para la librería "Binary_h" ademas que en esa misma linea te falta el ";"
Las funciones "Juego()", "fingerConfig()", "borrarHuellas()" no existen en el codigo que estas compartiendo así como también la variable "id" no esta declarada, compartiste todo el codigo o solo partes?

Muchas gracias. He cambiado el nombre a bot1 y el ; no me había fijado pero no me avisaba de ese fallo.

Todo lo que falta es de la librería de sensor de huellas dactilares. No tiene que ver con este fallo y es mucho codigo por eso no lo he puesto.

Creo que precisamente la omisión del punto y coma es lo que hace que de el error de que no se ha declarado la variable mode. Una vez subsanado el olvido del punto y coma, debería de dejar de dar el fallo de variable no declarada. Y es que, al no estar el punto y coma, las dos líneas de código son como si fueran una. Compila y verifica que ya no te falla,

Coincido con @IgnoranteAbsoluto , el problema es el ";" ausente.
De hecho me ha pasado, leía y releía el código sin darme cuenta del faltante.
Cosas que pasan... :wink:

Saludos

Antes no se podían poner códigos largos, ahora la restricción no se en que tamaño está pero no es mas 9k.
Asi que código largo o no, postealo porque si tu supieras resolverlo no vendrías a pedir ayuda.
Nosotros necesitamos verlo para dar una buena opinión/sugerencia.

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