Problema con teclado 4x4

para comenzar, tu código dice lo siguiente
Cada 3 segundos luego que muestre todos los carteles bonitos, presta atención a ver si he presionado una tecla

Evidentemente no es la mejor manera de hacerlo, asi que porque no pruebas de este modo.
Comenta todo lo que tenga que ver con lcd solo para hacer una prueba y luego observa si el programa recompilado donde solo le presta atención a la presion de las teclas funciona.
Te vas a sorprender.

Si eso pasa, entonces modifica la parte de presentación que veo no tiene mucho sentido porque poner (ya se que estas experimentando)

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);

Se puede resumir a solo esto

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Keypad"); // Mensaje a desplegar
  lcd.setCursor(0,1);
  lcd.print("Tecla:"); // Mensaje a desplegar  
}

void loop() {
  tecla = teclado.getKey();
  if(tecla != NO_KEY) {
    Serial.print(tecla); 
    lcd.setCursor(8,1);
    lcd.print(tecla); // Mensaje a desplegar   
  }
}