#include <Keypad.h>
const uint8_t ROWS = 4;
const uint8_t COLS = 4;
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
uint8_t colPins[COLS] = {A1, A2, A3, A4};
uint8_t rowPins[ROWS] = {5, 4, 3, 2};
Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins,ROWS,COLS);
const uint8_t ledPins[9] = {6,7,8,9,10,11,12,13,A0};
void setup(){
Serial.begin(9600);
for (uint8_t i = 0; i < 9; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW);
}
}
void loop() {
char key = keypad.getKey();
if (key != NO_KEY) {
Serial.println(key);
switch (key) {
case '1': digitalWrite(ledPins[0], !digitalRead(ledPins[0]));
break;
case '2': digitalWrite(ledPins[1], !digitalRead(ledPins[1])); break;
case '3': digitalWrite(ledPins[2], !digitalRead(ledPins[2])); break;
case '4': digitalWrite(ledPins[3], !digitalRead(ledPins[3])); break;
case '5': digitalWrite(ledPins[4], !digitalRead(ledPins[4])); break;
case '6': digitalWrite(ledPins[5], !digitalRead(ledPins[5])); break;
case '7': digitalWrite(ledPins[6], !digitalRead(ledPins[6])); break;
case '8': digitalWrite(ledPins[7], !digitalRead(ledPins[7])); break;
case '9': digitalWrite(ledPins[8], !digitalRead(ledPins[8])); break;
default: break;
}
}
}