#include <Keypad.h>

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

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

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

char password[] = {'A', 'A', 'B', 3};

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

char input[4];
int n = 0;

void loop() {
  char key = keypad.getKey();
  if (key != NO_KEY) {
    if(n == 4) {
      for(int i = 0; i < 4; i++) {
        input[i] = 0;
      }
      n = 0;
    }
    input[n] = key;
    n = n + 1;
  }

  if (n) {
    for(char x : input) { Serial.print(x); }
    Serial.println();
  }


  // check to see input == password
  if(input[0]=='A') {
    if(input[1]=='A') {
      if(input[2]=='B') {
        if(input[3]==3) {
          Serial.println("good job");
        }
      }
    }
  }
  else{
    printf("failed");
  }
}