float s_isSoundDetected; float s_isSoundDetectedPrev; float s_LedStatus; float s_LedStatusPrev; void setup() { //put your setup code here, to run once: pinMode(8, INPUT); pinMode(9, OUTPUT); pinMode(13, OUTPUT); s_isSoundDetected = 0; s_isSoundDetectedPrev = 0; s_LedStatus = 0; s_LedStatusPrev = 0; } void loop() { //put your main code here, to run repeatedly: if(digitalRead(8)) { s_isSoundDetected = 0; } else { s_isSoundDetected = 1; } if(((s_isSoundDetectedPrev == 0) && (s_isSoundDetected == 1))) { if((s_LedStatus == 0)) { s_LedStatus = 1; } else { s_LedStatus = 0; } } if((s_LedStatus == s_LedStatusPrev)) { } else { if((s_LedStatus == 0)) { digitalWrite(9, false); digitalWrite(13, false); } else { digitalWrite(9, true); digitalWrite(13, true); } } s_isSoundDetectedPrev = s_isSoundDetected; s_LedStatusPrev = s_LedStatus; }