bool Fehlversuche = false; int AnzahlVersuche = 0; int MaxVersuche = 3; String Pin; void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial) {;} Serial.println("Bitte 4-stelligen Pin eingeben!"); neuerPin(); } void loop() { // auf serielle Eingabe warten // solange Fehlversuche false ist while (Serial.available() > 0 && !Fehlversuche) { // solange lesen, bis return \n eingegeben wurde String Eingabe = Serial.readStringUntil('\n'); /* Pin testen Länge muss 4 sein String Pin in der Eingabe enthalten */ int index = Eingabe.indexOf(Pin); if (index == 0 && Eingabe.length() == 4) { Serial.println("Korrekter Pin: " + Eingabe); // neuen Pin erstellen neuerPin(); } // falscher Pin else { Serial.println("Falscher Pin: " + Eingabe); AnzahlVersuche ++; Serial.println("Noch " + String(MaxVersuche - AnzahlVersuche) + " Versuch(e)"); } if (AnzahlVersuche >= 3) { Fehlversuche = true; Serial.println("Maximale Anzahl der Fehlversuche erreicht!"); } Serial.println("------------------------------------------"); } } String neuerPin() { // zufälligen PIN bestimmen Pin = ""; Serial.println("---------------------------------------"); for (int i = 0; i < 4; i ++) { int Zahl = random(0, 10); Pin = Pin + String(Zahl); } // Pin anzeigen Serial.println("neuer Pin: " + Pin); return Pin; }