Ligaçao matriz arduino pro micro

Salve galera, adaptei esse codigo aqui as minhas necessidades no chat gpt e ele criou essa matriz mas nao estou entendendo a ligaçao alguem que entenda de ligacao em matriz que possa me auxiliar ilustrar por exemplo?

#include <JoystickGTEC.h>

// Aumente o número de botões suportados para 36 botões
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_GAMEPAD,
  36, 0,                  
  false, false, false,     
  false, false, false,   
  false, false,         
  false, false, false);  

// Defina os pinos para a matriz de botões 6x6
const int rowPins[6] = {2, 3, 4, 5, 6, 7};   // Linhas da matriz
const int colPins[6] = {8, 9, 10, 11, 12, 13};   // Colunas da matriz

// Atualize o array de estados dos botões
int lastButtonState[36] = {0};  // Para 36 botões

void setup() {
  // Configurar os pinos das linhas como saídas e os pinos das colunas como entradas
  for (int i = 0; i < 6; i++) {
    pinMode(rowPins[i], OUTPUT);
    digitalWrite(rowPins[i], HIGH);  // Inicialmente desativar as linhas
    pinMode(colPins[i], INPUT_PULLUP);  // Ativar pull-up nas colunas
  }

  // Configurar pinos D0, D1 e D2
  pinMode(0, INPUT_PULLUP);
  pinMode(1, INPUT_PULLUP);
  pinMode(2, INPUT_PULLUP);

  Joystick.begin();
}

void loop() {
  // Manter comportamento específico para D0, D1 e D2
  for (int index = 0; index < 3; index++) {
    int currentButtonState = map(digitalRead(index), HIGH, LOW, LOW, HIGH);
    if (currentButtonState != lastButtonState[index]) {
      Joystick.pressButton(index);
      delay(150);
      Joystick.releaseButton(index);
      lastButtonState[index] = currentButtonState;
    }   
  }

  // Ler a matriz de botões 6x6
  for (int row = 0; row < 6; row++) {
    digitalWrite(rowPins[row], LOW);  // Ativar linha
    for (int col = 0; col < 6; col++) {
      int index = 3 + (row * 6) + col;  // Índice dos botões na matriz
      int currentButtonState = map(digitalRead(colPins[col]), HIGH, LOW, LOW, HIGH);
      if (currentButtonState != lastButtonState[index]) {
        Joystick.setButton(index, currentButtonState);
        lastButtonState[index] = currentButtonState;
      }
    }
    digitalWrite(rowPins[row], HIGH);  // Desativar linha
  }

  delay(150);
}

esse é o codigo e essa e a matriz que ele me deu, mas nao acho a identificaçao dos pino no arduino pro micro essa e a matriz

Conexões

  1. Linhas (L1 a L6):
  • Conecte L1 a D6
  • Conecte L2 a D7
  • Conecte L3 a D8
  • Conecte L4 a D9
  • Conecte L5 a D10
  • Conecte L6 a D11
  1. Colunas (C1 a C6):
  • Conecte C1 a D0 (RX)
  • Conecte C2 a D1 (TX)
  • Conecte C3 a D2
  • Conecte C4 a D3
  • Conecte C5 a D4
  • Conecte C6 a D5

Montagem da Matriz

Para cada botão da matriz 6x6:

  • L1 a L6 serão as linhas.
  • C1 a C6 serão as colunas.

As linhas e colunas devem ser conectadas aos pinos do Arduino conforme listado acima. Cada botão será colocado no cruzamento de uma linha e uma coluna.

This is the English speaking section. Try posting in Your native languagr section.

Tópico movido para a seção portuguesa do fórum.