
int pinStates[3];
int lastStates[3];
long timesLastPressed[3];
int inputSwitchPins[3] = {2,3,4};
int debouncePeriod = 10;
 
void setup() {
  Serial.begin(9600);
  for(int i=0;i<3;++i) {
    pinMode(inputSwitchPins[i], INPUT);
    lastStates[i] = digitalRead(inputSwitchPins[i]);
    timesLastPressed[i] = millis();
  }
}

void loop() { 
  for(int i=0;i<3;++i) {
    int pinState = digitalRead(inputSwitchPins[i]);
    
    if (pinState != lastStates[i] && 
             millis() - timesLastPressed[i] > debouncePeriod) {
      switch(i) {
         case 0: // record
            Serial.print(pinState==0?"B":"E");
            break;
         case 1: // play
            if (pinState == 0) {
              Serial.print("P");
            }
            break;
         case 2: // delete
            if (pinState == 0) {
              Serial.print("D");
            }
            break;
      }
      timesLastPressed[i] = millis();    
      lastStates[i] = pinState;
    }
  }
}

