Le schede Arduino possono essere programmate utilizzando un linguaggio C/C ++. La maggior parte dei concetti che la programmazione di Arduino eredita da queste due lingue. Come negli array C/C ++ sono usati anche negli schizzi Arduino. Gli array possono archiviare più elementi con lo stesso tipo di dati. Gli array in Arduino sono comunemente usati con per loop per controllare il livello di tensione su più pin. Vediamo come creare array 2D in Arduino.
2d array in Arduino
Gli array 2D o bidimensionali sono simili alla differenza solo dimensionale è qui che abbiamo più righe e più colonne anziché una singola riga di caratteri. Tutti gli elementi degli array sono disposti all'interno di una griglia in forma tabulare con righe e colonne.
In parole semplici, array che richiedono due diversi abbonamenti per chiamare un elemento specifico in una posizione particolare sono chiamati array 2D. Qualsiasi array con due o più dimensioni è noto come un array multidimensionale.
Qui nell'immagine sopra, possiamo vedere un array 2D multidimensionale perché richiede due abbonamenti per identificare un elemento specifico.
Inizializzazione dell'array 2D in Arduino
Ora per comprendere il concetto di array 2D inizializziamo un array 2D all'interno del codice Arduino e lo stampiamo su un monitor seriale. Di seguito è riportato il codice per l'inizializzazione di un array 2D 2 × 3:
void setup ()
Seriale.Inizia (115200); /*Inizia la comunicazione seriale*/
int nrow = 2; /*Numero di righe*/
int nCol = 3; /*Numero di colonna*/
int twodimarray [2] [3] = /*array definito con dimensione* /
1, 2, 3, /*elementi array* /
4, 5, 6
;
Seriale.println ("array a due dimensioni di [2] x [3]");
int curwow = 0;
mentre (CuRow < nRow) /*While loop to print n value of row*/
int curcol = 0;
mentre (Curcol < nCol) /*While loop to print n value of column*/
Seriale.print (twodimarray [Currow] [Curcol]);
Seriale.stampa(" ");
Curcol ++; /*Stampa tutti gli elementi delle righe*/
Seriale.println ();
Currow ++; /*Stampa tutti gli elementi della colonna*/
void loop ()
Qui nel codice sopra, abbiamo iniziato inizializzando la comunicazione seriale per stampare i risultati sul monitor seriale. Il numero totale successivo di righe e colonne viene inizializzato. Per archiviare i dati all'interno dell'array abbiamo inizializzato una stringa di array bidimensionale che stampa i numeri da 1 a 6.
Accanto per archiviare i dati inizializzati all'interno dell'array due mentre i loop saranno richiesti uno per il numero di righe e il secondo per il numero totale di colonne. Possiamo anche farlo manualmente, ma in caso di array 2D di grandi dimensioni dobbiamo scrivere una linea separata per ogni elemento dell'array 2D. Per evitare che questo ciclo viene inizializzato che si esegue da solo e incrementerà il loro valore per archiviare l'elemento successivo all'interno dell'array.
Infine, abbiamo stampato sia le righe che le colonne usando il seriale.funzione di stampa ().
Produzione
L'uscita visualizza un array 2D con 2 × 3 dimensioni.
Sostituire elementi di array 2D con un valore in Arduino
Dato che abbiamo stampato con successo un array 2D su monitor seriale ora sostituiremo un valore specifico con un elemento all'interno dell'array 2D.
void setup ()
Seriale.Inizia (115200); /*Inizia la comunicazione seriale*/
int nrow = 2; /*Numero di righe*/
int nCol = 3; /*Numero di colonna*/
int twodimarray [2] [3] = /*array definito con dimensione* /
1, 2, 3, /*elementi array* /
4, 5, 6
;
Seriale.println ("Element At Posizione [1] x [1] viene sostituito con 0:");
int curwow = 0;
mentre (CuRow < nRow)
int curcol = 0;
mentre (Curcol < nCol)
Twodimarray [1] [1] = 0; /*Elemento array su [1] x [1] viene sostituito con 0*/
Seriale.print (twodimarray [Currow] [Curcol]);
Seriale.stampa(" ");
Curcol ++; /*Stampa tutti gli elementi delle righe*/
Seriale.println ();
Currow ++; /*Stampa tutti gli elementi della colonna*/
void loop ()
Il codice sopra è simile nel funzionare come il codice spiegato in precedenza. L'unica differenza qui è l'aggiunta di due righe che utilizzano la seguente funzione: possiamo sostituire qualsiasi elemento di array con un determinato valore.
[CCE_Bash width = "100%" altezza = "100%" sfuggito = "true" tema = "blackboard" NowRap = "0"]
Twodimarray [1] [1] = 0;
Qui l'elemento [1] x [1] che è uguale a 5 verrà sostituito con un numero 0. Definendo la posizione dell'elemento array, qualsiasi numero può essere sostituito con uno nuovo.
Produzione
Nel monitor seriale possiamo vedere quell'elemento nella posizione [1] x [1] viene sostituito con il numero 0:
Ottenere un valore da una posizione specifica in un array 2D in Arduino
Ora recupereremo un valore specifico di un elemento da qualsiasi posizione all'interno dell'array 2D:
void setup ()
Seriale.Inizia (115200); /*Inizia la comunicazione seriale*/
int nrow = 2; /*Numero di righe*/
int nCol = 3; /*Numero di colonna*/
int twodimarray [2] [3] = /*array definito con dimensione* /
1, 2, 3, /*elementi array* /
4, 5, 6
;
int curwow = 0;
mentre (CuRow < nRow)
int curcol = 0;
mentre (Curcol < nCol)
Seriale.print (twodimarray [Currow] [Curcol]);
Seriale.stampa(" ");
Curcol ++; /*Stampa tutti gli elementi delle righe*/
Seriale.println ();
Currow ++; /*Stampa tutti gli elementi della colonna*/
int myValue = TwodimArray [1] [1]; /*Elemento di stampa Al [1] x [1]*/
Seriale.print ("Valore dell'elemento su [1] x [1] è:");
Seriale.stampa (myvalue);
void loop ()
Qui alla fine del codice abbiamo definito una nuova variabile myvalue di tipo int. Questa variabile prenderà il valore dell'elemento definito utilizzando la sua posizione e la stampa sul monitor seriale.
Qui l'abbiamo inizializzato per stampare elementi nella posizione [1] x [1].
Produzione
Il terminale di uscita rappresenta il valore nella posizione [1] x [1] che è uguale a 5:
Conclusione
Array bidimensionali (array 2D) rimuovere il fastidio di maneggiare varie variabili. Anche usando array 2D possiamo impostare valori di pin diversi in alto o basso. Questo articolo fornisce un'introduzione di array 2D in Arduino e guide su come ottenere o sostituire i valori di elementi specifici all'interno dell'array 2D.