
void setup() {
  Serial.begin(9600); 
  pinMode(8, INPUT); // connect to Std pin
  pinMode(9, INPUT); // connect to Q4 pin
  pinMode(10, INPUT); // connect to Q3 pin
  pinMode(11, INPUT); // connect to Q2 pin
  pinMode(12, INPUT); // connect to Q1 pin
}

void loop() {
  uint8_t number_pressed;
  bool signal ;  
  signal = digitalRead(3);
  if(signal == HIGH)  /* If new pin pressed */
   {
    delay(250);
    number_pressed = ( 0x00 | (digitalRead(7)<<0) | (digitalRead(6)<<1) | (digitalRead(5)<<2) | (digitalRead(4)<<3) );
      switch (number_pressed)
      {
        case 0x01:
        Serial.println("Button Pressed =  1");
        break;
        case 0x02:
        Serial.println("Button Pressed =  2");
        break;
        case 0x03:
        Serial.println("Button Pressed =  3");
        break;
        case 0x04:
        Serial.println("Button Pressed =  4");
        break;
        case 0x05:
        Serial.println("Button Pressed =  5");
        break;
        case 0x06:
        Serial.println("Button Pressed =  6");
        break;
        case 7:
        Serial.println("Button Pressed =  7");
        break;
        case 0x08:
        Serial.println("Button Pressed =  8");
        break;
        case 0x09:
        Serial.println("Button Pressed =  9");
        break;
        case 0x0A:
        Serial.println("Button Pressed =  0");
        break;
        case 0x0B:
        Serial.println("Button Pressed =  *");
        break;
        case 0x0C:
        Serial.println("Button Pressed =  #");
        break;    
      }
  }
}