#define SW_rising 14
#define SW_falling 27
#define LED 4
#define RELAY 25
int relay_state = 0;
void IRAM_ATTR Ext_INT1_ISR()
{
// relay on
relay_state = 1;
//relay_state = !relay_state;
//digitalWrite(RELAY, HIGH);
}
void IRAM_ATTR Ext_INT2_ISR()
{
// relay off
relay_state = 0;
//digitalWrite(RELAY, LOW);
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(SW_falling, INPUT);
pinMode(SW_rising, INPUT);
pinMode(LED, OUTPUT);
pinMode(RELAY, OUTPUT);
digitalWrite(RELAY, HIGH);
attachInterrupt(SW_falling, Ext_INT1_ISR, FALLING);
attachInterrupt(SW_rising, Ext_INT2_ISR, RISING);
}
void loop() {
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
digitalWrite(RELAY, relay_state);
if(relay_state == 0)
digitalWrite(RELAY, LOW);
else
digitalWrite(RELAY, HIGH);
Serial.print("relay_state= ");
Serial.println(relay_state);
}