#define pin_button 12
#define pin_led 7

int estado_button=0;
int estado_led=0;
int estado_anterior=0;

void setup() {
  // put your setup code here, to run once:
  pinMode(pin_button, INPUT_PULLUP);
  pinMode(pin_led, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  estado_button = digitalRead(pin_button);
  if (estado_button==LOW) {
    if (estado_anterior==HIGH) {
      estado_led=LOW;
    } 
    else{
      estado_led=HIGH;
    }
  }
  else
  {
    estado_anterior=estado_led;
  }
  digitalWrite(pin_led,estado_led);
  delay(100);
}