Arduino 2D Array

Ammar Ali 12 outubro 2023
  1. Inicialização de array 2D em Arduino
  2. Armazenando dados em 2D Array em Arduino
  3. Substitua um valor em 2D Array em uma posição específica no Arduino
  4. Recuperando um valor de uma posição específica em 2D Array no Arduino
  5. Biblioteca Arduino MatrixMath para matrizes 2D
Arduino 2D Array

Neste tutorial, discutiremos 2D array no Arduino. Discutiremos como podemos inicializar um array 2D e usá-lo para armazenar dados.

Inicialização de array 2D em Arduino

A inicialização do array 2D é bastante semelhante à inicialização do array 1d. Em um array 2D, temos que definir o número de linhas e colunas e então inicializá-lo com alguns dados. Por exemplo, veja o código abaixo.

void setup() {
  int nRow = 2;
  int nCol = 4;
  int myArray[nRow][nCol] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
}

No código acima, nRow é uma variável do tipo int que é usada para definir o número de linhas na matriz 2D. nCol é uma variável do tipo int que é usada para definir o número de colunas no array 2D, e myArray é um array do tipo int, que é usado para armazenar os valores int fornecidos. Você pode alterar todos esses valores de acordo com os dados fornecidos. Observe que você também pode definir outros arrays de tipo de dados como float no Arduino. Além disso, observe que você deve definir o número de linhas e colunas ou pelo menos o número de colunas durante a inicialização do array .

Armazenando dados em 2D Array em Arduino

Se você deseja armazenar dados em um array 2D, você deve usar dois loops para essa finalidade. Para armazenar dados em um array 2D, você tem que ir a todas as posições em um array 2D e armazenar os dados lá. um array 2D tem muitos elementos, portanto, será demorado armazenar dados em cada posição manualmente. Para economizar tempo, você pode usar dois loops para ir para cada posição e armazenar os dados fornecidos na posição específica. Por exemplo, veja o código abaixo.

void setup() {
  int data = 0;
  int myArray[nRow][nCol];
  for (int nr = 0; nr < nRow; nr++) {
    for (int nc = 0; nc < nCol; nc++) {
      myArray[nr][nc] = data++;
    }
  }
}

No código acima, estamos usando dois loops para ir para todas as posições em um array 2D e armazenar os dados fornecidos lá. Neste exemplo, os dados são uma variável cujo valor é zero, mas você pode alterar seu valor de acordo com os dados fornecidos. Este método irá armazenar ou substituir dados em todas as posições do array 2D.

Substitua um valor em 2D Array em uma posição específica no Arduino

Se você deseja armazenar ou substituir dados em apenas uma posição, você só precisa usar o operador de atribuição para a posição específica. Por exemplo, veja o código abaixo.

void setup() {
  int nRow = 2;
  int nCol = 4;
  int myArray[nRow][nCol] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
  myArray[nRow][nCol] = 0;
}

No código acima, estamos substituindo o valor presente na posição nRow e nCol na matriz 2D para 0.

Recuperando um valor de uma posição específica em 2D Array no Arduino

Se você deseja obter um valor de uma posição específica na matriz 2D, você pode usar o operador de atribuição. Por exemplo, veja o código abaixo.

void setup() {
  int nRow = 2;
  int nCol = 4;
  int myArray[nRow][nCol] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
  int myValue = myArray[nRow][nCol];
}

No código acima, estamos recuperando um valor presente na posição nRow e nCol na matriz 2D, que é 8.

Biblioteca Arduino MatrixMath para matrizes 2D

Você pode usar a biblioteca MatrixMath presente no Arduino para muitas operações como adição, subtração, multiplicação, inversão e impressão de arrayes 2D. Leia a documentação da biblioteca para mais informações e veja um exemplo aqui.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artigo relacionado - Arduino Array