Problema con teclado 4x4

este es el codigo que tengo

//Incluimos librerias para la Pantalla LCD I2C y para el teclado 4x4

#include <LiquidCrystal_I2C.h>                   // Libreria para pantallas LCD con modulo I2C
#include<Wire.h>                                 // Libreria para pantallas LCD con modulo I2C
LiquidCrystal_I2C lcd(0x27,16,2);                // Configuracion del LCD 16x2
#include <Key.h>
#include <Keypad.h>                              // Incluye libreria para teclado

//Configuracion de la estructura y los pines del teclado 4x4

const byte filas = 4;                            // Se declara el numero de filas
const byte columnas = 4;                         // Se declara el numero de columnas
byte pinsFilas[filas] = {9, 8, 7, 6};            // Declara Pines 9,8,7 y 6 para renglones del keypad
byte pinsColumnas[columnas] = {5, 4, 3, 2};      // Declara Pines 5,4,3 y 2 para columnas del keypad

char teclas[filas][columnas] = {                 // Declaramos la configuracion de la matriz 4x4
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

Keypad teclado = Keypad(makeKeymap(teclas), pinsFilas, pinsColumnas, filas, columnas);    //iniciamos el Keypad

char tecla;

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  lcd.clear();
  lcd.setCursor(0,0);
  

}

void loop() { 
  lcd.print("!!!!CHINGADO!!!!"); // Mensaje a desplegar
  lcd.setCursor(0,1);
  delay (1000);
  lcd.print("Por_Que_NO_Jala!"); // Mensaje a desplegar  
  delay (1000);
  lcd.clear();
  delay (1000);

  tecla = teclado.getKey();
  if(tecla != NO_KEY) {
    Serial.print(tecla);
  }
  }

tiene mezclado el de una pantalla LCD con I2C ya que estoy tratando de aprender a hacer algo mas complejo, espero que eso no sea la causa del error.

la libreria del Keypad la descargue del gestor de librerias del programa de arduino