Recibir por serie y verificar(SOLUCIONADO)

Recibo por datos serie 1111 desde otro Arduino con este código, que lo almacena en una string.

if(Serial.available()){ while (Serial.available()>0){ delay(5); cadena[contador]=Serial.read(); contador++; }

contador=0;

}

Una vez recibido, lo comparo con una clave que tengo.

char usuario[4]={'1','1','1','1'}; if (cadena[0]==usuario[0]&&cadena[1]==usuario[1]&&cadena[2]==usuario[2]&&cadena[3]==usuario[3]) (Una vez que lo tenga claro, haré ésto con un for) {Serial.print("OK"); }

Pues bien, el problema está en que cuando envío 1111 recibo ok, pero si escribo otra combinación de 4 números tabién....

Vale ya parece que está. Resulta que yo, a la hora de verificar, tenía una pequeña rutina..

if (cadena[1]==usuario[1]&&cadena[2]==usuario[2]&&cadena[3]==usuario[3]&&cadena[4]==usuario[4]) { verificado=true; }

if (verificado==true){ envío ok o hago lo que quiero...

}

Pues bien, desde verificado =true y la rutina de abajo de si verificado es verdadero hago esto o lo otro...MAL. Solución.

if (cadena[1]==usuario[1]&&cadena[2]==usuario[2]&&cadena[3]==usuario[3]&&cadena[4]==usuario[4]) { envío ok. }