Arduino 2D Array

Ammar Ali 12 octubre 2023
  1. Inicialización de array 2D en Arduino
  2. Almacenamiento de datos en 2D Array en Arduino
  3. Reemplazar un valor en 2D Array en una posición específica en Arduino
  4. Recuperar un valor de una posición específica en 2D Array en Arduino
  5. Biblioteca Arduino MatrixMath para matrices 2D
Arduino 2D Array

En este tutorial, discutiremos 2D array en Arduino. Discutiremos cómo podemos inicializar un array 2D y usarla para almacenar datos.

Inicialización de array 2D en Arduino

La inicialización de array 2D es bastante similar a la inicialización de array 1d. En un array 2D, tenemos que definir el número de filas y columnas y luego inicializarlo con algunos datos. Por ejemplo, vea el código a continuación.

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

En el código anterior, nRow es una variable de tipo int que se utiliza para definir el número de filas en la array 2D. nCol es una variable de tipo int que se utiliza para definir el número de columnas en la array 2D, y myArray es un array de tipo int, que se utiliza para almacenar los valores int dados. Puede cambiar todos estos valores de acuerdo con los datos proporcionados. Tenga en cuenta que también puede definir otras matrices de tipos de datos como float en Arduino. Además, tenga en cuenta que debe definir el número de filas y columnas o al menos el número de columnas durante la inicialización de la array.

Almacenamiento de datos en 2D Array en Arduino

Si desea almacenar datos en un array 2D, debe usar dos bucles para este propósito. Para almacenar datos en un array 2D, debe ir a cada posición en un array 2D y almacenar datos allí. Una array 2D tiene muchos elementos, por lo que llevará mucho tiempo almacenar datos en cada posición manualmente. Para ahorrar tiempo, puede utilizar dos bucles para ir a cada posición y almacenar los datos dados en la posición específica. Por ejemplo, vea el código a continuación.

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++;
    }
  }
}

En el código anterior, estamos usando dos bucles para ir a cada posición en un array 2D y almacenar los datos dados allí. En este ejemplo, los datos son una variable cuyo valor es cero, pero puede cambiar su valor de acuerdo con los datos dados. Este método almacenará o reemplazará datos en todas las posiciones de la array 2D.

Reemplazar un valor en 2D Array en una posición específica en Arduino

Si desea almacenar o reemplazar datos en una sola posición, solo tiene que usar el operador de asignación para la posición específica. Por ejemplo, vea el código a continuación.

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

En el código anterior, estamos reemplazando el valor presente en la posición nRow y nCol en la array 2D a 0.

Recuperar un valor de una posición específica en 2D Array en Arduino

Si desea obtener un valor de una posición específica en un array 2D, puede usar el operador de asignación. Por ejemplo, vea el código a continuación.

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];
}

En el código anterior, estamos recuperando un valor presente en la posición nRow y nCol en la array 2D, que es 8.

Biblioteca Arduino MatrixMath para matrices 2D

Puede utilizar la biblioteca MatrixMath presente en Arduino para muchas operaciones como suma, resta, multiplicación, inversa e impresión de matrices 2D. Lea la documentación de la biblioteca para obtener más información y consulte un ejemplo aquí.

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

Artículo relacionado - Arduino Array