No tengo teclado para probar, así que vas a tener que ir probando tu.
Esto debería leer el teclado, pitar al pulsar y sacar por serial lo que has pulsado. Comprueba que funcione e indicame como debería funcionar.
Cuantos dígitos la clave?
Pulsar # o * para finalizar clave o contar el numero de pulsaciones para controlar cuando acabas de teclear?
La clave la modificas desde el teclado o modificando el código?
#include <Keypad.h>
const byte FILAS = 4;
const byte COLUM = 3;
char Teclas[FILAS][COLUM] =
{
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
byte PinsFilas[FILAS] = {5, 4, 3, 2}; //Pins de las filas
byte PinsColum[COLUM] = {8, 7, 6}; //Pines delas columnas
Keypad Teclado = Keypad( makeKeymap(Teclas), PinsFilas, PinsColum, FILAS, COLUM );
byte PinBuzzer = 9;
byte PinLed = 10;
void setup()
{
Serial.begin(9600);
pinMode(PinBuzzer, OUTPUT);
pinMode(PinLed, OUTPUT);
}
void loop()
{
char key = Teclado.getKey();
if (key != NO_KEY) // Hay tecla pulsada?º
{
analogWrite(PinBuzzer,128); // Emite pitido
delay(250); // Tiempo de pitido
digitalWrite(PinBuzzer, LOW);
Serial.println(key);
}
}