Paso 6: El código
La codificación es un poco complicada, como dije en la introducción, pero estoy un poco de un principiante con el Arduino, por lo que no debería ser difícil para que cualquiera pueda entender. Básicamente el Arduino comprobará para ver si algo está siendo recibida a través de la serie. Si es así, se lee a los caracteres en una matriz y desde ese momento Verifique que lo que fue recibido coincida con la contraseña que definimos. En mi ejemplo la contraseña definida es ABCD.cerradura de int = 9; //pin 9 de Arduino
char final [4]; //Characters el Arduino va a recibir
char corregir [4] = {'A ',' B', 'C','d '}; Contraseña //User-Defined
int pass_correct = 0; //Does contraseña coinciden, 0 = 1 false = true
void setup() void loop() para (int i = 0; i < 4; i ++) if(pass_correct==1) / * PARA LA PRUEBA }
{
pinMode (cerradura, salida);
Serial.Begin(9600);
digitalWrite (cerradura, alto); //By predeterminada, cerradura es active(locked)
}
{
while(serial.Available())
{
para (int i = 0; i < 4; i ++)
{
final [i] = Serial.read(); //Read 4 bytes en la matriz etiqueta "final"
}
{
if(final[i]==correct[i])
{
pass_correct = 1; //If comparamos dos chars y emparejar, establezca la variable de pass_correct en true(1)
}
otra cosa
{
pass_correct = 0; //if no coinciden con lo caracteres en comparación con dos, definir variable de pass_correct para false(0)
rotura de ; //End lazo y dejar de comparar caracteres
}
}
}
{
Serial.println("Unlocked");
digitalWrite (cerradura, LOW);
Delay(5000);
Serial.println("locked");
pass_correct = 0;
}
otra cosa
{
digitalWrite (cerradura, HIGH); //Else si hubo no un completo partido, mantener la high(locked) de bloqueo
}
Serial.Print(final[0]); Serial.Print(final[1]); Serial.Print(final[2]); Serial.Print(final[3]);
Serial.Print("|");
Serial.Print(correct[0]); Serial.Print(correct[1]); Serial.Print(correct[2]); Serial.Print(correct[3]);
Serial.Print("");
Serial.Print(pass_correct);
Serial.println("");
*/
Delay(500);