#include <Servo.h>
int servoPin = 9;
int buttonPin = 2;
const int ledPin = 12;
Servo miServo;
int buttonActual = LOW;
boolean sistemaEncendido = false;
unsigned long ultimoTiempo = 0;
unsigned long tiempoDeEspera = 100;
void setup() {
miServo.attach(servoPin);
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
int buttonState = digitalRead(buttonPin);
unsigned long tiempoActual = millis();
if (buttonState == HIGH && buttonActual == LOW && tiempoActual - ultimoTiempo > tiempoDeEspera) {
sistemaEncendido = !sistemaEncendido;
digitalWrite(ledPin, sistemaEncendido);
if (sistemaEncendido) {
miServo.write(0);
} else {
miServo.write(90);
}
ultimoTiempo = tiempoActual;
}
buttonActual = buttonState;
}