Hola, soy casi nuevo en arduino y tengo un problema que me gustaría que me orientaran un poco.
Hace poco me puse a practicar un poco con mi arduino y un keypad 4x4, hice el clásico programa del teclado que viene de ejemplo en la librería y quise tratar de declarar una variable para que lo que presionara en el teclado se guardara en una variable y mediante una sentencia asumía que si la variable era igual a un numero que presionara se encienda un led.
Ejemplo:
#include <Keypad.h>
#define led 13
const byte filas = 4;
const byte columnas = 4;
byte pinsFilas[filas] = {22, 24, 26, 28 };
byte pinsColumnas[columnas] = {23, 25, 27, 29 };
char tecla;
char teclas[filas][columnas] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad teclado = Keypad(makeKeymap (teclas), pinsFilas, pinsColumnas, filas, columnas);
void setup()
{
Serial.begin(9600);
pinMode(led, OUTPUT);
}
void loop()
{
tecla = teclado.getKey();
if( tecla != NO_KEY )
{
int numero = tecla - 48;
// ESTA ES LA PARTE QUE NO LOGRO QUE FUNCIONE.
//CUANDO PRESIONO EL 35 EN EL TECLADO NO SE GUARDA COMO UN ENTERO DE DOS DÍGITOS.
if(numero == 35)
{
digitalWrite(led, HIGH);
Serial.println("CODIGO CORRECTO");
}else{
digitalWrite(led, LOW);
Serial.println("CODIGO INCORRECTO");
}
}
}
Mi problema es que el numero de dos o mas dígitos que que asigno y presiono en el teclado no se guarda en la variable, solo lo puedo hacer si el numero es de un solo dígito.
Me podrían orientar en esta pequeña falla por favor.
Saludos