#define SW1 3 #define LED 13 volatile int8_t SW1State; void setup() { pinMode(SW1, INPUT); pinMode(LED, OUTPUT); attachInterrupt(digitalPinToInterrupt(SW1), SW1StateUpdate, CHANGE); SW1State = digitalRead(SW1); } void loop() { //int8_t SW1State = digitalRead(SW1); //digitalWrite(LED, SW1State); delay(1000); } void SW1StateUpdate() { SW1State = !SW1State; digitalWrite(LED, SW1State); }