#include <Keypad.h>

// Configuração do teclado matricial 4x4
const byte ROWS = 4; // Número de linhas
const byte COLS = 4; // Número de colunas
char keys[ROWS][COLS] = {
  {'1', '2', '3', 'A'},
    {'4', '5', '6', 'B'},
      {'7', '8', '9', 'C'},
        {'*', '0', '#', 'D'}
        };
        byte rowPins[ROWS] = {9, 8, 7, 6};    // Pinos das linhas conectados ao Arduino
        byte colPins[COLS] = {5, 4, 3, 2};    // Pinos das colunas conectados ao Arduino

        Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

        // Pinos dos LEDs
        const int redLed = 10;
        const int greenLed = 11;
        const int blueLed = 12;

        void setup() {
          // Configuração dos pinos dos LEDs como saída
            pinMode(redLed, OUTPUT);
              pinMode(greenLed, OUTPUT);
                pinMode(blueLed, OUTPUT);

                  // Inicialização dos LEDs apagados
                    digitalWrite(redLed, LOW);
                      digitalWrite(greenLed, LOW);
                        digitalWrite(blueLed, LOW);

                          Serial.begin(9600); // Para depuração (opcional)
                          }

                          void loop() {
                            char key = keypad.getKey(); // Lê a tecla pressionada

                              if (key) {
                                  Serial.println(key); // Para depuração (opcional)

                                      // Desliga todos os LEDs
                                          digitalWrite(redLed, LOW);
                                              digitalWrite(greenLed, LOW);
                                                  digitalWrite(blueLed, LOW);

                                                      // Lógica para acender os LEDs com base na tecla pressionada
                                                          if (key == '1' || key == '4' || key == '7' || key == '*') {
                                                                digitalWrite(redLed, HIGH);
                                                                    } else if (key == '2' || key == '5' || key == '8' || key == '0') {
                                                                          digitalWrite(greenLed, HIGH);
                                                                              } else if (key == '3' || key == '6' || key == '9' || key == '#') {
                                                                                    digitalWrite(blueLed, HIGH);
                                                                                        }
                                                                                            // Teclas A, B, C, D não acendem nenhum LED
                                                                                              }
                                                                                              }