Hier ist ein einfacher und effizienter Arduino-Sketch, der einen digitalen Eingang (Port) abfragt. Sobald dieser Port zum dritten Mal ein HIGH-Signal registriert hat, verzweigt das Programm in einen speziellen Code-Abschnitt.Damit ein einzelner Tastendruck nicht fälschlicherweise als Mehrfachklick gezählt wird, enthält der Code eine einfache Entprellung (Debounce), die darauf wartet, dass das Signal erst wieder LOW wird, bevor der nächste Impuls gezählt wird.cpp// Pin-Definitionen const int eingangsPin = 2; // Der Port, der abgefragt wird const int ledPin = 13; // Beispiel-Ausgang (Interne LED) // Variablen für den Status int zaehler = 0; // Zählt die HIGH-Signale bool impulsMerker = false; // Verhindert Dauerzählen bei gehaltenem Signal void setup() { pinMode(eingangsPin, INPUT); // Port als Eingang definieren (ggf. INPUT_PULLDOWN nutzen) pinMode(ledPin, OUTPUT); // Ausgangs-Pin definieren Serial.begin(9600); // Serieller Monitor für Kontrollausgaben } void loop() { // 1. Portabfrage int aktuellerStatus = digitalRead(eingangsPin); // 2. Flankenerkennung (Wechsel von LOW auf HIGH) if (aktuellerStatus == HIGH && !impulsMerker) { zaehler++; // Zähler um 1 erhöhen Serial.print("HIGH-Signal erkannt! Anzahl: "); Serial.println(zaehler); impulsMerker = true; // Merken, dass das Signal bereits gezählt wurde delay(50); // Kurzes Entprellen } // Zurücksetzen des Merkers, wenn das Signal wieder LOW ist if (aktuellerStatus == LOW) { impulsMerker = false; } // 3. Verzweigung nach der 3. Portabfrage if (zaehler == 3) { // Hier steht der Code, der nach dem 3. HIGH-Signal ausgeführt wird Serial.println("Dritte Portabfrage erfolgreich! Verzweigung aktiv."); digitalWrite(ledPin, HIGH); // Beispielaktion // Optional: Zähler zurücksetzen, falls die Schleife von vorn beginnen soll // zaehler = 0; } } //Verwende Code mit Vorsicht.So funktioniert der Code:Flankenerkennung: Der impulsMerker sorgt dafür, dass ein dauerhaft anliegendes HIGH-Signal nur als ein einziges Ereignis gezählt wird.Der Zähler: Die Variable zaehler addiert jeden //neuen Wechsel auf HIGH.Die Verzweigung: Die if (zaehler == 3)-Bedingung leitet die gewünschte Aktion ein, sobald exakt drei Impulse registriert wurden.