
int inputSwitchPin = 2;
int lastState;

long timeLastPressed;
long debouncePeriod = 100;

void setup() {
  Serial.begin(9600);
  pinMode(inputSwitchPin, INPUT);
  lastState = digitalRead(inputSwitchPin);
  timeLastPressed = millis();
}

void loop() {
  int pinState = digitalRead(inputSwitchPin);

  if (pinState != lastState && millis() - timeLastPressed > debouncePeriod) {
    Serial.println(pinState?"released":"pressed");
    timeLastPressed = millis();
    lastState = pinState;
  }
}

