const int ledPin1 = 2; const int buzzer = 9; const int buttonPin = 4; int pos = 0; int lluvia = 0; int pos_guardada = 0; int cambio = 0; int tiempo_lluvia = 10000; int tiempo_altolluvia = 20000; int t1 = 0; int t2 = 0; int i = 0; void setup() { pinMode(ledPin1, OUTPUT); pinMode(buzzer, OUTPUT); pinMode(buttonPin, INPUT); } void loop() { pos = digitalRead(buttonPin); if (pos != pos_guardada) { pos_guardada = pos; cambio++; Serial.print("NĂºmero de cambios: "); Serial.println(cambio); t1 = millis(); } if (millis()-t1>tiempo_lluvia) { cambio = 0; } if (cambio>2) { lluvia = 1; t2 = millis(); } else { lluvia = 0; } if (lluvia==1) { digitalWrite(ledPin1, HIGH); i = 0; do { digitalWrite(buzzer, HIGH); delay(500); digitalWrite(buzzer, LOW); delay(500); i++; } while (i < 10); } else { digitalWrite(ledPin1, LOW); digitalWrite(buzzer, LOW); } }