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