Objetivo:
Mostrar la tecla oprimida de una pantalla LCD 16×2
Código
#include <Keypad.h>
#include <LiquidCrystal.h>
const byte rows=4;
const byte cols=3;
char keys[rows][cols]=
{
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowpins[rows]={A1,A2,A3,A4}; //pines para las filas 1234
byte colpins[cols]={7,6,5}; //pines para las columnas ABCD
//crea y nombra el teclado
Keypad kpd=Keypad(makeKeymap(keys),rowpins,colpins,rows,cols);
LiquidCrystal lcd(13, 12, 11, 10, 9, 8); //inicializo lcd
void setup()
{
Serial.begin(9600);
lcd.begin(16,2);
}
void loop()
{
char key = kpd.waitForKey();
// tecla = kpd.waitForKey();
lcd.setCursor(2,1);
lcd.print("hola");
lcd.setCursor(2,0);
lcd.print(key);
if (key){
Serial.println(key);
}
}
Diagrama en proteus



