Arduino 2D Array

Ammar Ali 12 ottobre 2023
  1. Inizializzazione di array 2D in Arduino
  2. Memorizzazione dei dati in un Array 2D in Arduino
  3. Sostituisci un valore in 2D Array in una posizione specifica in Arduino
  4. Recupero di un valore da una posizione specifica in 2D Array in Arduino
  5. Libreria Arduino MatrixMath per array 2D
Arduino 2D Array

In questo tutorial, discuteremo array 2D in Arduino. Discuteremo come inizializzare un array 2D e usarlo per memorizzare i dati.

Inizializzazione di array 2D in Arduino

L’inizializzazione dell’array 2D è abbastanza simile all’inizializzazione dell’array 1d. In un array 2D, dobbiamo definire il numero di righe e colonne e quindi inizializzarlo con alcuni dati. Ad esempio, vedere il codice di seguito.

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

Nel codice precedente, nRow è una variabile di tipo int che viene utilizzata per definire il numero di righe nell’array 2D. nCol è una variabile di tipo int che è usata per definire il numero di colonne nell’array 2D, e myArray è un array di tipo int, che è usato per memorizzare i valori int dati. È possibile modificare tutti questi valori in base ai dati forniti. Nota che puoi anche definire altri tipi di dati array come float in Arduino. Inoltre, nota che devi definire il numero di righe e colonne o almeno il numero di colonne durante l’inizializzazione array.

Memorizzazione dei dati in un Array 2D in Arduino

Se si desidera memorizzare i dati in un array 2D, è necessario utilizzare due loop per questo scopo. Per memorizzare i dati in un array 2D, devi andare in ogni posizione in un array 2D e memorizzare i dati lì. Un array 2D ha molti elementi, quindi sarà molto dispendioso in termini di tempo memorizzare manualmente i dati in ogni posizione. Per risparmiare tempo, è possibile utilizzare due cicli per andare in ogni posizione e memorizzare i dati forniti nella posizione specifica. Ad esempio, vedere il codice di seguito.

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

Nel codice sopra, stiamo usando due loop per andare in ogni posizione in un array 2D e memorizzare lì i dati forniti. In questo esempio, i dati sono una variabile il cui valore è zero, ma è possibile modificarne il valore in base ai dati forniti. Questo metodo memorizzerà o sostituirà i dati in ogni posizione nell’array 2D.

Sostituisci un valore in 2D Array in una posizione specifica in Arduino

Se si desidera memorizzare o sostituire i dati in una sola posizione, è sufficiente utilizzare l’operatore di assegnazione per la posizione specifica. Ad esempio, vedere il codice di seguito.

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

Nel codice sopra, stiamo sostituendo il valore presente nella posizione nRow e nCol nella matrice 2D a 0.

Recupero di un valore da una posizione specifica in 2D Array in Arduino

Se si desidera ottenere un valore da una posizione specifica in un array 2D, è possibile utilizzare l’operatore di assegnazione. Ad esempio, vedere il codice di seguito.

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

Nel codice sopra, stiamo recuperando un valore presente nella posizione nRow e nCol nell’array 2D, che è 8.

Libreria Arduino MatrixMath per array 2D

È possibile utilizzare la libreria MatrixMath presente in Arduino per molte operazioni come addizione, sottrazione, moltiplicazione, inversione e stampa di array 2D. Leggi la documentazione della libreria per maggiori informazioni e controlla un esempio qui.

Autore: 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

Articolo correlato - Arduino Array