// #include <Wire.h> 
// #include <LiquidCrystal_I2C.h>
// #include <Keypad.h>

// LiquidCrystal_I2C lcd(0x27,20,4);
// const byte ROWS = 4; /* four rows */
// const byte COLS = 4; /* four columns */
// int sw = 0;
// int sw1 = 0;
// char hexaKeys[ROWS][COLS] = {
//   {'0','1','2','3'},
//   {'4','5','6','7'},
//   {'8','9','a','b'},
//   {'c','d','e','f'}
// };
// // char KeysValC[4][4] = {
// //   {{'1', '.', ',', '#', '@', '*', '-'},{'A', 'B', 'C'},{'D', 'E', 'F'},{'_'}},
// //   {'G', 'H', 'I'},{'J', 'K', 'L'},{'M', 'N', 'O'},{'/'}},
// //   {'P', 'Q', 'R', 'S'},{'T', 'U', 'V'},{'W', 'X', 'Y', 'Z'},{'|'}},
// //   {'-'},{' ', '0'},{'+'},{'!'}}
// // };
// char KeysValS[4][4] = {
//   {{'1', '.', ',', '#', '@', '*', '-'}, {'a', 'b', 'c', '2'}, {'d', 'e', 'f', '3'}, {'_'}},
//   {{'g', 'h', 'i', '4'},{'j', 'j', 'l', '5'},{'m', 'n', 'o', '6'}, {'/'}},
//   {{'p', 'q', 'r', 's', '7'},{'t', 'u', 'v', '8'},{'w', 'x', 'y', 'z', '9'}, {'|'}},
//   {{'-'},{' ', '0'}, {'+'}, {'!'}}
// };
// char ch_out, ch_out_filter;
// String name = "";
// String key0 = "0123456789abcdef";

// byte rowPins[ROWS] = {13, 12, 14, 27};
// byte colPins[COLS] = {26, 25, 33, 32};

// /* initialize an instance of class NewKeypad */
// Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); 

// void setup(){
//   Serial.begin(9600);
//   lcd.init();
//   lcd.backlight();
//   pinMode(0, INPUT);
// }

// void loop(){
//   char customKey = customKeypad.getKey();
//   if (customKey){
//     // Serial.println(customKey);
//     // Serial.println(key0.indexOf(customKey));
//     int gx = key0.indexOf(customKey);
//     if (sw == 0) {
//       ch_out = KeysValS[gx];
//     }

//     if (ch_out == '+') {
//       sw += 1;
//       if (sw > 2) {
//         sw = 0;
//       }  
//     }
    
//     if (customKey == 'e') {
//       sw1 += 1;
//       if (sw1 > 1) {
//         sw1 = 0;
//       }
//     }
//     if ((ch_out != '+') && (ch_out != '-') && (ch_out != '_')) {
//       if (sw1 == 0){
//         name += isLowerCase(ch_out);
//       } else {
//         name += isUpperCase(ch_out);
//       }
//     }
//     if (ch_out == '_') {
//       name = name.substring(0, name.length() - 1);
//       lcd.clear();
//     }
//     lcd.setCursor(0, 0);
//     lcd.print(name);
//     lcd.print(digitalRead(0));
//   }
// }

int g1 = 0;
int g2 = 0;
int g3 = 0;
int g4 = 0;
String gg[] = {" ", " ", " ", " "};
int pinout[7] = {15, 25, 26, 27, 14, 12, 13};
int pinin[6] = {33, 32, 35, 34, 39, 36};
int sw[6][7] = {
  {0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0},
  {0, 0, 0, 0, 0, 0, 0}
};

char keys[6][7] = {
  {'1', '2', '3', '4', '5', '6', '7'},
  {'8', '9', '0', 'a', 'b', 'c', 'd'},
  {'e', 'f', 'g', 'h', 'i', 'j', 'k'},
  {'l', 'm', 'n', 'o', 'p', 'q', 'r'},
  {'s', 't', 'u', 'v', 'w', 'x', 'y'},
  {'z', '-', '+', '_', '*', '/', ' '}
};
// 
void setup(){
  Serial.begin(9600);
  for (int i = 0; i < 7; i++) {
    pinMode(pinout[i], OUTPUT);
    if (i < 7){
      pinMode(pinin[i], INPUT);
    }
  }
}

void loop(){
  g1 = 0;
  g2 = 0;
  g3 = 0;
  g4 = 0;
  for (int i = 0; i < 7; i++) {
    digitalWrite(pinout[i], HIGH);
    for (int j = 0; j < 6; j++) {
      sw[j][i] = digitalRead(pinin[j]);
      if (sw[j][i] == 1){
        Serial.println(i);
      }
    }
    digitalWrite(pinout[i], LOW);
  }
  for (int i = 0; i < 7; i++) {
    for (int j = 0; j < 6; j++) {
      if (sw[j][i] == 1) {
        Serial.print("sw[");
        Serial.print(j);
        Serial.print("][");
        Serial.print(i);
        Serial.print("]");
        Serial.print(" = ");
        Serial.println(keys[j][i]);
      }
    }
  }

}
$abcdeabcde151015202530354045505560fghijfghij
NOCOMNCVCCGNDINLED1PWRRelay Module