#define RETARD 1000
const int ledPin = 22; // GPIO del led
const int pulsador = 35;
int n=0; //contador de interrupciones
int a = 0; //a parpadea en 0, apagado en 1
void IRAM_ATTR cambio()
{
n++;
}
void setup()
{
// put your setup code here, to run once:
pinMode(ledPin, OUTPUT);
pinMode(pulsador, INPUT_PULLUP);
Serial.begin(115200);
delay(RETARD);
Serial.println("Led parpadeante con pulsador");
attachInterrupt(digitalPinToInterrupt(pulsador), cambio, RISING);
}
void loop()
{
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
a = n%2;
if (Serial.read()== 'F' || Serial.read()== 'f')
{
Serial.println("ILUMINADO, pulse reset para volver a empezar");
digitalWrite(ledPin, LOW);
while (1);
}
if (a == 0)
{
digitalWrite(ledPin, HIGH);
Serial.println("PARPADEANDO");
delay(RETARD);
digitalWrite(ledPin, LOW);
delay(RETARD);
}
else
{
digitalWrite(ledPin, HIGH);
Serial.println("APAGADO");
delay(RETARD);
}
}