/*Dieser Sketch laesst die LED "L" Dauerblinken ohne Ende. Wenn vom Mikrophon (an Pin D3) das Signal auf "LOW" geht, soll das Blinken beendet werden. Auch ein kurzes Pfeifen soll das Blinken sicher beenden. Das geht mit einer Interrupt Service Rotine (ISR).*/ int LED=13; //Pin D13 wird der Name "LED" zugeordnet int Mikro=3; //Pin D3 wird der Name "Mikro" zugeordnet void setup() { pinMode(LED, OUTPUT); //"LED" (bzw Arduino Pin D13) wir als Ausgang programmiert pinMode(Mikro, INPUT); //"Mikro" (bzw Arduino Pin D3) wird als Eingang programmiert /*Definition einer ISR (Ausloesung Interrupt an Pin D3, wenn dort die Eingangsspannung von HIGH auf LOW wechselt)*/ attachInterrupt(digitalPinToInterrupt(3),LEDL_ON,FALLING); } void loop() { digitalWrite(LED, LOW); //LED wird ausgeschaltet ... delay(1000); //... und bleibt 1000 Millisekunden ausgeschaltet digitalWrite(LED, HIGH); //LED wird eingeschaltet ... delay(1000); //... und bleibt 1000 Millisekunden eingeschaltet } /*Die Interrupt Service Routine(ISR)wird ausgefuehrt, wenn Pin D3 von HIGH auf LOW wechselt. Achtung: delay() funktioniert nicht innerhalb einer ISR, da es selbst den Milliseconds Interrupt nutzt. delayMicroseconds() wuerde funktionieren*/ void LEDL_ON() { digitalWrite(LED, LOW); //LED wird ausgeschaltet for (;;) {} //Beende Sketch }