Buenos días a todo el mundo.
Tengo un pequeño problema con mi codigo. No me dá errores de compilación pero cuando pruebo a introducir alguno de los codigos de usuario declarados previamente me devuelve siempre "PIN erroneo". ¿Puede alquien indicarme qué está fallando? Abajo os dejo mi codigo.
Muchas gracias!!!!
char usuario1[4]={'1','2','3','#'};
char usuario2[4]={'4','5','6','#'};
char usuario3[4]={'7','8','9','#'};
char usuario4[4]={'0','9','8','#'};
char usuario5[4]={'7','6','5','#'};
char attempt[4]={0,0,0,0};
char attempt2[4]={0,0,0,0};
void checkPIN()
{
int correct=0;
for (int q=0; q<=3; q++)
{
if (attempt[q]==usuario1[q]||attempt[q]==usuario2[q]||attempt[q]==usuario3[q]||attempt[q]==usuario4[q]||attempt[q]==usuario5[q])
{
attempt2[q]=attempt[q];
correct++;
}
}
if ((correct==3) && ((attempt2[4]==usuario1[4]) || (attempt2[4]==usuario2[4]) || (attempt2[4]==usuario3[4]) || (attempt2[4]==usuario4[4]) || (attempt2[4]==usuario5[4])))
{
Serial.println("PIN correcto");
digitalWrite(11, HIGH); // activa un contacto
for (int zz=0; zz<=4; zz++) // borrar el último código introducido
{
attempt[zz]=0;
}
switchModule();
setup2();
loop2();
}
else
{
Serial.println("PIN erroneo");
digitalWrite(12, HIGH); // activa un contacto
delay(1000);
digitalWrite(12, LOW);
for (int zz=0; zz<=4; zz++) // borrar el último código introducido
{
attempt[zz]=0;
}
setup();
}
}
Moderator edit:
</mark> <mark>[code]</mark> <mark>
</mark> <mark>[/code]</mark> <mark>
tags added.