void loop() { byte i; byte Summe = 0; // auf serielle Eingabe warten while (Serial.available() > 0) { // solange lesen, bis return \n = return eingegeben wurde String Eingabe = Serial.readStringUntil("\n"); // das letzte Zeichen ist return = \n → soll entfernt werden (-1) Eingabe = Eingabe.substring(0, Eingabe.length() - 1); // die ersten 5 Speicherstellen mit 0 überschreiben if (Eingabe == "j") { for (int i = 0; i < 5; ++i) { EEPROM.write(i, 0); } Serial.println("Statistik gel\u00f6scht!"); } else Serial.println("Statistik bleibt erhalten!"); Serial.println("Bitte zum W\u00fcrfeln Taster dr\u00fccken!"); } int AnzahlEins = 0; int AnzahlZwei = 0; int AnzahlDrei = 0; int AnzahlVier = 0; int AnzahlFuenf = 0; int AnzahlSechs = 0; // Werte aus EEPROM lesen byte AnzahlSpiele = EEPROM[0]; byte DreierPasch = EEPROM[1]; byte ViererPasch = EEPROM[2]; byte Kniffel = EEPROM[3]; SensorLesen = digitalRead(SENSOR); delay(200); if (SensorLesen == LOW) { AnzahlSpiele += 1; Serial.println("W\u00fcrfele ..."); for (i = 0; i < MaxWuerfeln; i++) { Zufallszahl = random(Minumum, Maximum); // Anzahl der einsen, zweien ... zählen // wird für die Auswertung benötigt switch (Zufallszahl) { case 1: AnzahlEins ++; break; case 2: AnzahlZwei ++; break; case 3: AnzahlDrei ++; break; case 4: AnzahlVier ++; break; case 5: AnzahlFuenf ++; break; case 6: AnzahlSechs ++; break; } Serial.println(Zufallszahl); // Summe berechnen Summe += Zufallszahl; } // Summe anzeigen Serial.println("-----------------------------"); Serial.print("Summe: "); Serial.println(Summe); /* Auswertung Dreierpasch Anzahl wird um 1 erhöht und in die Speicherstelle 1 geschrieben */ if (AnzahlEins == 3) { Serial.println("Dreierpasch 1"); DreierPasch += 1; EEPROM.update(1, DreierPasch); } if (AnzahlZwei == 3) { Serial.println("Dreierpasch 2"); DreierPasch += 1; EEPROM.update(1, DreierPasch); } if (AnzahlDrei == 3) { Serial.println("Dreierpasch 3"); DreierPasch += 1; EEPROM.update(1, DreierPasch); } if (AnzahlVier == 3) { Serial.println("Dreierpasch 4"); DreierPasch += 1; EEPROM.update(1, DreierPasch); } if (AnzahlFuenf == 3) { Serial.println("Dreierpasch 5"); DreierPasch += 1; EEPROM.update(1, DreierPasch); } if (AnzahlSechs == 3) { Serial.println("Dreierpasch 6"); DreierPasch += 1; EEPROM.update(1, DreierPasch); } /* Auswertung Viererpasch Anzahl wird um 1 erhöht und in die Speicherstelle 2 geschrieben */ if (AnzahlEins == 4) { Serial.println("Viererpasch 1"); ViererPasch += 1; EEPROM.update(2, ViererPasch); } if (AnzahlZwei == 4) { Serial.println("Viererpasch 2"); ViererPasch += 1; EEPROM.update(2, ViererPasch); } if (AnzahlDrei == 4) { Serial.println("Viererpasch 3"); ViererPasch += 1; EEPROM.update(2, ViererPasch); } if (AnzahlVier == 4) { Serial.println("Viererpasch 4"); ViererPasch += 1; EEPROM.update(2, ViererPasch); } if (AnzahlFuenf == 4) { Serial.println("Viererpasch 5"); ViererPasch += 1; EEPROM.update(2, ViererPasch); } if (AnzahlSechs == 4) { Serial.println("Viererpasch 6"); ViererPasch += 1; EEPROM.update(2, ViererPasch); } /* Auswertung Kniffel wenn AnzahlEins == 5 oder (||) AnzahlZwei = 5 ... keine Auswertung mit welcher Zahl der Kniffel gewürfelt wurde Anzahl wird um 1 erhöht und in die Speicherstelle 2 geschrieben */ if (AnzahlEins == 5 || AnzahlZwei == 5 || AnzahlDrei == 5 || AnzahlVier == 5 || AnzahlFuenf == 5 || AnzahlSechs == 5) { Serial.println("Kniffel"); Kniffel += 1; EEPROM.update(3, Kniffel); } // Anzahl der Spiele in Speicherstelle 0 schreiben und anzeigen EEPROM.update(0, AnzahlSpiele); Serial.println("-----------------------------"); Serial.print("Anzahl bisheriger Spiele: "); Serial.println(EEPROM[0]); // Anzahl der bisherigen Dreier- Vierpasch und Kniffel anzeigen Serial.print("Anzahl Dreierpasch: "); Serial.print(EEPROM[1]); Serial.print(" "); Serial.print(float(EEPROM[1]) / float(EEPROM[0]) * 100); Serial.println(" %"); Serial.print("Anzahl Viererpasch: "); Serial.print(EEPROM[2]); Serial.print(" "); Serial.print(float(EEPROM[2]) / float(EEPROM[0]) * 100); Serial.println(" %"); Serial.print("Anzahl Kniffel: "); Serial.print(EEPROM[3]); Serial.print(" "); Serial.print(float(EEPROM[3]) / float(EEPROM[0]) * 100); Serial.println(" %"); Serial.println("-----------------------------"); } }