Stap 6: De Code
De codering is een beetje lastig, zoals ik al zei in de intro, maar ik een beetje een beginner met de Arduino, ben dus het moet niet moeilijk voor iedereen te begrijpen. In principe zal de Arduino controleren om te zien als om het even wat wordt ontvangen door middel van seriële. Als het is, zal het lezen van deze tekens in een array en vanaf dat moment controleren of dat wat werd ontvangen hoort bij het wachtwoord dat we gedefinieerd. In mijn voorbeeld is het wachtwoord gedefinieerd ABCD.int lock = 9; //pin 9 op Arduino
char def. [4]; //Characters de Arduino ontvangt
-char corrigeren [4] = {'A ',' B', 'C', zou'}; //User-Defined wachtwoord
int pass_correct = 0; //Does wachtwoord overeenkomen, 0 = false 1 = true
VOID Setup void loop for (int i = 0; ik < 4; i ++) if(pass_correct==1) / * VOOR HET TESTEN }
{
pinMode (vergrendelen, uitvoer);
Serial.begin(9600);
digitalWrite (lock, hoge); //By standaard slot is active(locked)
}
{
while(Serial.available())
{
voor (int i = 0; ik < 4; i ++)
{
Finale [i] = Serial.read(); //Read 4 bytes in de matrix labelled "finale"
}
{
if(Final[i]==correct[i])
{
pass_correct = 1; //If vergelijken we twee tekens en zij overeenkomen met de variabele pass_correct ingesteld op true(1)
}
anders
{
pass_correct = 0; //if de twee ten opzichte van tekens niet overeenkomen, stelt u de variabele pass_correct te false(0)
onderbreking; //End lus en stoppen met het vergelijken van tekens
}
}
}
{
Serial.println("Unlocked");
digitalWrite (lock, laag);
delay(5000);
Serial.println("Locked");
pass_correct = 0;
}
anders
{
digitalWrite (lock, hoge); //Else als er niet een volledige match, houden de lock-high(locked)
}
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);