#define ENCODER_CLK 2
#define ENCODER_DT  3
#define ENCODER_SW  4
#define LED 16
int rotate = 0;

void ARDUINO_ISR_ATTR isr(){
  int dtValue = digitalRead(ENCODER_DT);

  if (dtValue == HIGH) {
    Serial.println("Rotated clockwise ⏩");
    rotate ++;
    Serial.println(rotate);
  }
  if (dtValue == LOW) {
    Serial.println("Rotated counterclockwise ⏪");
    rotate --;
    Serial.println(rotate);
  }
}

void ARDUINO_ISR_ATTR isr1(){
  if (digitalRead(ENCODER_SW) == LOW) {
    Serial.println("button pressd");
    digitalWrite(LED, LOW);
    delay(100);
  }
  else{
    digitalWrite(LED, HIGH);
  }
}

void setup() {
  pinMode(ENCODER_CLK, INPUT_PULLUP);
  pinMode(ENCODER_DT, INPUT);
  pinMode(ENCODER_SW, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  digitalWrite(LED, HIGH);

  attachInterrupt(digitalPinToInterrupt(ENCODER_CLK), isr, FALLING);
  attachInterrupt(digitalPinToInterrupt(ENCODER_SW), isr1, FALLING);
}

void readEncoder() {
  int dtValue = digitalRead(ENCODER_DT);
  if (dtValue == HIGH) {
    Serial.println("Rotated clockwise ⏩");

  }
  if (dtValue == LOW) {
    Serial.println("Rotated counterclockwise ⏪");
  }
}

void loop() {
  // Do whatever
}