Array 2D - Arduino

Array 2D - Arduino

Les planches Arduino peuvent être programmées à l'aide d'une langue C / C ++. La plupart des concepts La programmation Arduino hérite de ces deux langues. Comme dans les tableaux C / C ++ sont également utilisés dans les croquis Arduino. Les tableaux peuvent stocker plusieurs éléments avec le même type de données. Les tableaux dans Arduino sont couramment utilisés avec des boucles pour contrôler le niveau de tension à plusieurs broches. Voyons comment créer des tableaux 2D dans Arduino.

Arrays 2D à Arduino

Les tableaux 2D ou bidimensionnels sont similaires à une différence unique seule est ici, nous avons plusieurs lignes et plusieurs colonnes au lieu d'une seule ligne de caractères. Tous les éléments des tableaux sont disposés à l'intérieur d'une grille dans la forme tabulaire avec des lignes et des colonnes.

En termes simples, les tableaux qui nécessitent deux indices différents pour appeler un élément spécifique à un emplacement particulier sont appelés tableaux 2D. Tout tableau ayant deux ou plusieurs dimensions est connu comme un tableau multidimensionnel.

Ici, dans l'image ci-dessus, nous pouvons voir un tableau 2D multidimensionnel car il nécessite deux indices pour identifier un élément spécifique.

  • Le premier est le nom du tableau indiqué par "un".
  • Le deuxième est l'indice de ligne [2] nous indiquer l'emplacement de l'élément par rapport à son numéro de ligne.
  • Le troisième est l'indice de la colonne [1] indique le numéro de colonne d'éléments spécifiques.

Initialisation du tableau 2D dans Arduino

Maintenant, pour comprendre le concept de tableau 2D, nous initialisons un tableau 2D dans le code Arduino et l'imprime sur un moniteur en série. Voici le code pour initialiser un tableau 2d 2 × 3:

void setup()
En série.commencer (115200); / * La communication série commence * /
int nrow = 2; /*Nombre de rangées*/
int ncol = 3; / * Nombre de colonnes * /
int twodimArray [2] [3] = / * tableau défini avec la dimension * /

1, 2, 3, / * Éléments de tableau * /
4, 5, 6
;
En série.println ("tableau à deux dimensions de [2] x [3]");
int currow = 0;
Pendant que (Currow < nRow) /*While loop to print n value of row*/

int curcol = 0;
Pendant que (Curcol < nCol) /*While loop to print n value of column*/

En série.print (twodimArray [currow] [curcol]);
En série.imprimer(" ");
CurCol ++; / * Imprimez tous les éléments des lignes * /

En série.println ();
currow ++; / * Imprimez tous les éléments de colonne * /


VOID LOOP ()

Ici, dans le code ci-dessus, nous avons commencé par initialiser la communication série pour imprimer les résultats sur le moniteur série. Nombre total prochain de lignes et de colonnes sont initialisées. Pour stocker des données à l'intérieur du tableau, nous avons initialisé une chaîne de tableau bidimensionnelle qui imprime les numéros de 1 à 6.

Ensuite, pour stocker les données initialisées à l'intérieur du tableau deux tandis que les boucles seront nécessaires pour un nombre de lignes et deuxième pour le nombre total de colonnes. Nous pouvons également le faire manuellement, mais en cas de tableaux 2D de grande taille, nous devons écrire une ligne distincte pour chaque élément du tableau 2D. Pour éviter que cette boucle soit initialisée, ce qui fonctionnera pour lui-même et incrément sa valeur pour stocker l'élément suivant à l'intérieur du tableau.

Enfin, nous avons imprimé les lignes et les colonnes en utilisant la série.Fonction print ().

Sortir

La sortie affiche un réseau 2D avec une taille 2 × 3.

Remplacement des éléments de tableau 2D par une valeur à Arduino

Comme nous avons réussi à imprimer un tableau 2D sur le moniteur série maintenant, nous remplacerons une valeur spécifique par un élément à l'intérieur du tableau 2D.

void setup()
En série.commencer (115200); / * La communication série commence * /
int nrow = 2; /*Nombre de rangées*/
int ncol = 3; / * Nombre de colonnes * /
int twodimArray [2] [3] = / * tableau défini avec la dimension * /

1, 2, 3, / * Éléments de tableau * /
4, 5, 6
;
En série.println ("élément à l'emplacement [1] x [1] est remplacé par 0:");
int currow = 0;
Pendant que (Currow < nRow)

int curcol = 0;
Pendant que (Curcol < nCol)

TwoDImArray [1] [1] = 0; / * L'élément de tableau à [1] x [1] est remplacé par 0 * /
En série.print (twodimArray [currow] [curcol]);
En série.imprimer(" ");
CurCol ++; / * Imprimez tous les éléments des lignes * /

En série.println ();
currow ++; / * Imprimez tous les éléments de colonne * /


VOID LOOP ()




Le code ci-dessus est similaire dans le fonctionnement comme le code expliqué précédemment. La seule différence ici est l'ajout de deux lignes en utilisant la fonction suivante: nous pouvons remplacer n'importe quel élément de tableau par une valeur donnée.
[CCE_BASH width = "100%" height = "100%" échappé = "true" thème = "Blackboard" Nowrap = "0"]
TwoDImArray [1] [1] = 0;

Ici, l'élément [1] x [1] qui est égal à 5 ​​sera remplacé par un nombre 0. En définissant l'emplacement de l'élément de tableau, n'importe quel numéro peut être remplacé par un nouveau.

Sortir

Dans le moniteur en série, nous pouvons voir que l'élément à l'emplacement [1] x [1] est remplacé par le numéro 0:

Obtenir une valeur à partir d'une position spécifique dans un tableau 2D dans Arduino

Nous allons maintenant récupérer une valeur spécifique d'un élément à partir de n'importe quelle position à l'intérieur du tableau 2D:

void setup()
En série.commencer (115200); / * La communication série commence * /
int nrow = 2; /*Nombre de rangées*/
int ncol = 3; / * Nombre de colonnes * /
int twodimArray [2] [3] = / * tableau défini avec la dimension * /

1, 2, 3, / * Éléments de tableau * /
4, 5, 6
;
int currow = 0;
Pendant que (Currow < nRow)

int curcol = 0;
Pendant que (Curcol < nCol)

En série.print (twodimArray [currow] [curcol]);
En série.imprimer(" ");
CurCol ++; / * Imprimez tous les éléments des lignes * /

En série.println ();
currow ++; / * Imprimez tous les éléments de colonne * /

int myvalue = twodimArray [1] [1]; / * Élément d'impression al [1] x [1] * /
En série.print ("La valeur de l'élément à [1] x [1] est:");
En série.imprimer (myvalue);

void loop ()

Ici, à la fin du code, nous avons défini une nouvelle variable myvalue de type int. Cette variable prendra la valeur de l'élément défini en utilisant son emplacement et l'imprimera sur le moniteur en série.

Ici, nous l'avons initialisé pour imprimer des éléments à l'emplacement [1] x [1].

Sortir

La borne de sortie représente la valeur à l'emplacement [1] x [1] qui est égal à 5:

Conclusion

Les tableaux bidimensionnels (tableau 2D) retirent les tracas de la manipulation de diverses variables. En utilisant également des tableaux 2D, nous pouvons définir différentes valeurs de broches élevées ou basses. Cet article donne une introduction de tableaux 2D dans Arduino et guide comment obtenir ou remplacer des valeurs d'élément spécifiques à l'intérieur du tableau 2D.