#include <Keypad.h>

const uint8_t ROWS = 4;
const uint8_t COLS = 4;
char keys[ROWS][COLS] = {
  { '1', '2', '3' },
  { '4', '5', '6' },
  { '7', '8', '9' },
  { '*', '0', '#' }
};

int A = 440;
int B = 494;
int C = 523;
int D = 587;
int E = 659;


uint8_t colPins[COLS] = { 5, 4, 3}; // Pins connected to C1, C2, C3
uint8_t rowPins[ROWS] = { 9, 8, 7, 6 }; // Pins connected to R1, R2, R3, R4

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

void setup() {
  Serial.begin(9600);
}

void loop() {
  char key = keypad.getKey();

  if (key == '1') {
    tone(13, 440, 250);
    delay(250);
    tone(13, 494, 250);
    delay(250);
    tone(13, 523, 250);
    delay(250);
    tone(13, 784, 250);
    delay(250);
  }

  if (key == '2') {
    tone(13, A, 250);
    delay(250);
    tone(13, B, 250);
    delay(250);
    tone(13, C, 250);
    delay(250);
    tone(13, D, 250);
    delay(250);
    tone(13, E, 250);
    delay(500);

    tone(13, A, 250);
    delay(250);
    tone(13, B, 250);
    delay(250);
    tone(13, C, 250);
    delay(250);
    tone(13, D, 250);
    delay(250);
    tone(13, E, 250);
    delay(500);

    tone(13, D, 250);
    delay(250);
    tone(13, C, 250);
    delay(250);
    tone(13, D, 250);
    delay(250);
    tone(13, E, 250);
    delay(350);
    tone(13, D, 250);
    delay(250);
    tone(13, C, 250);
    delay(250);
    tone(13, D, 250);
    delay(250);
    tone(13, E, 250);
    delay(250);
    tone(13, D, 250);
    delay(250);
    tone(13, C, 250);
    delay(250);

    tone(13, A, 250);
    delay(500);
  }

}