Hola, perdona, llevo esta semana aprendiendo, pensaba que a entendedor, poco código bastaba.
Saludos
#include <Keypad.h>
//
const byte ROWS = 4;
const byte COLS = 4;
//
char keys[ROWS][COLS] = {
{'0', '1', '2', '3'},
{'4', '5', '6', '7'},
{'8', '9', 'A', 'B'},
{'C', 'D', 'E', 'F'}
};
//
byte rowPins[ROWS] = { 38 , 39, 40, 41 };
byte colPins[COLS] = { 42, 43, 44, 45 };
//
int pinMNR[] = { 2, 3, 4, 5, 6, 7, 8, 9};
int NumeroRele[] = { 1, 2, 3, 4, 5, 6, 7, 8};
//
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
//
void setup() {
Serial.begin(9600);
keypad.addEventListener(keypadEvent);
}
//
void loop() {
keypad.getKey();
}
//
void keypadEvent(KeypadEvent eKey) {
switch (keypad.getState()) {
case PRESSED:
switch (eKey) {
case 'A': break;
case 'B': break;
case 'C': break;
case 'D': break;
case '#': break;
case '*': break;
default:
AdminNumberKey(eKey);
}
}
}
//
void AdminNumberKey(char key) {
switch (keypad.getState()) {
case PRESSED:
switch (key) {
case 'A': Serial.print("ACCION?");
break;
case 'C': Serial.print("CERRAR?");
break;
case '1': PinON(key);
break;
case '2': PinON(key);
break;
case '3': PinON(key);
break;
case '4': PinON(key);
break;
case '5': PinON(key);
break;
case '6': PinON(key);
break;
case '7': PinON(key);
break;
case '8': PinON(key);
break;
case '9': PinON(key);
break;
default:;
}
}
}
//
void PinON(int key) {
int v=(key+1);
Serial.println(NumeroRele[v]);
}
//