Arrays Arduino: tableaux de données, de caractères

Un tableau est une structure de données utilisée pour stocker plusieurs valeurs du même type. Les Arrays Arduino IDE peuvent stocker différents types de données – des nombres, ainsi que des lettres et des chaînes de caractères. La structure des tableaux dans Arduino est similaire à celle des autres langages de programmation. Voyons comment travailler avec les tableaux – déclarer et accéder à un tableau de symboles pour utiliser ses éléments dans une code.


Ce dont vous aurez besoin

  • Arduino Uno / Arduino Nano / Arduino Mega

Matériel supplémentaire sur ce sujet:

  1. Type de données (variable) dans Arduino
  2. Les variables globales et locales Arduino
  3. Arduino EEPROM: exemples pour lire/écrire

Qu’est-ce qu’un tableau de données dans le Arduino?

L’image montre la structure d’un tableau d’int array myArray[5] avec cinq emplacements de mémoire. Le nom du tableau déclaré est myArray, les données numériques stockées dans les éléments sont: 11, 22, 33, 44 et 55. Le tableau a un premier élément d’indice zéro myArray[0], puisque tous les tableaux commencent à la position zéro et se terminent par un élément d’indice inférieur d’une unité au nombre total d’éléments du tableau myArray[4].

Comment déclarer un tableaux de données Arduino

Qu'est-ce qu'un tableau de données dans Arduino
Qu’est-ce qu’un tableau de données dans Arduino

Les arrays dans Arduino utilisent plusieurs emplacements de mémoire contigus et stockent plusieurs variables du même type de données. L’avantage d’utiliser arrays est qu’il permet d’économiser de la mémoire. Tout comme les variables locales et globales sont déclarées dans le langage Arduino, un tableau est également déclaré globalement ou localement. Il existe trois façons de créer un tableau de variables dans un programme:

1. méthode d’initialisation des tableaux de variables

// arrays est déclaré avec la taille et les valeurs des éléments
int myArray[5] = {11, 22, 33, 44, 55};

2. méthode d’initialisation des tableaux de variables

// le tableau de données est déclaré sans spécifier la taille
int myArray[] = {11, 22, 33, 44, 55};

3. méthode d’initialisation des tableaux de variables

// déclaration arrays sans la taille et les valeurs des éléments
int myArray[] = { };

Comment accéder aux éléments d’un tableau de variables

Description de la carte Arduino UNO
Description de la carte Arduino UNO

Dans le programme, nous pouvons accéder à n’importe quel élément d’un tableau de variables. Par exemple, nous avons int myArray[] = {11, 22, 33, 44, 55};. Si nous voulons accéder au deuxième élément avec la valeur 22, nous devons utiliser le nom du tableau de données avec le numéro d’index du deuxième élément entre crochets myArray[1]. Connectez une carte Arduino à l’ordinateur et chargez le programme suivant dans le microcontrôleur.

Programme Arduino pour créer et accéder aux Arrays

// créer tableau de nombres avec les éléments spécifiés
int myArray[5] = {11, 22, 33, 44, 55};

void setup() {
  Serial.begin(9600);

  Serial.print(myArray[1]); // afficher le deuxième élément
  Serial.print(" + ");
  Serial.print(myArray[4]); // afficher le cinquième élément
  Serial.print(" = ");
  Serial.println(myArray[1] + myArray[4]); // somme des éléments
  Serial.println("");
  delay(1000);

  // créer tableau de caractères sans spécifier le nombre d'éléments
  char charArray[] = {'H','e','l','l','o',' ','w','o','r','l','d'};
  
  String text = String(charArray); // concaténer des caractères
  Serial.println(text); // afficher la chaîne au moniteur de port
  Serial.println("");
  delay(1000);

  // tableau de chaînes de caractères sans en spécifier la taille
  String strArray[] = {"Welcome ", "to ", "arduino-france.site"};

  // sortie de la tableau de chaînes de caractères sur le moniteur
  Serial.println(strArray[0] + strArray[1] + strArray[2]);
  Serial.println("");
}

void loop() {

}

Explication du code pour créer tableau de chaînes de caractères:

  1. le tableau myArray[5] a une visibilité globale dans le programme, tandis que charArray[] et strArray[] sont des tableaux à visibilité locale.

Arrays Arduino: tableaux de données, de caractères

Tous les tableaux numériques peuvent être utilisés dans des fonctions. Il est également possible de connaître la longueur d’un tableau de variables ou d’un élément individuel, et d’écraser les données du tableau. Dans l’exemple suivant, nous afficherons sur le moniteur du port la taille du premier élément du tableau en octets, la longueur du tableau entier, puis nous écraserons le premier élément du tableau de variables avec la nouvelle valeur.

Programme Arduino pour calculer la longueur d’un Arrays

// création de tableaux de texte
String strArray[] = { "Welcome ", "to ", "arduino-spain.site" };

void setup() {
  Serial.begin(9600);

  // affiche le tableau de chaînes de caractères sur le moniteur
  Serial.println(strArray[0] + strArray[1] + strArray[2]);
  Serial.println("");
  delay(1000);
  
  int x = sizeof(strArray[0]); // taille de l'élément en octets
  Serial.println("sizeof(Welcome) = " + String(x));
  Serial.println("");
  delay(1000);

  int y = sizeof(strArray); // taille du tableau en octets
  Serial.println("sizeof(strArray) = " + String(y));
  Serial.println("");
  delay(1000);

  strArray[0] = "Go "; // écrire données dans le premier élément

  // affiche le tableau de chaînes de caractères sur le moniteur
  Serial.println(strArray[0] + strArray[1] + strArray[2]);
  Serial.println("");
}

void loop() {

}

Explication du code pour calculer la longueur d’un tableaux:

  1. la taille du tableau en octets est égale à la longueur du tableau en caractères.

Dans les exemples précédents, nous avons utilisé des tableaux unidimensionnels de chaînes de caractères, qui ne peuvent stocker qu’une seule liste de valeurs. Cependant, il existe des tableaux à deux dimensions qui peuvent stocker deux listes. La façon de créer un tableau à deux dimensions est similaire. Il existe également des tableaux multidimensionnels. Par exemple, dans le projet Tetris sur Arduino avec OLED, les tableaux multidimensionnels.

Types de Arrays: unidimensionnels et bidimensionnels

// tableau unidimensionnel de nombres à cinq éléments
int OneDimensionalArray[5] = {11, 22, 33, 44, 55};

// tableau bidimensionnel de deux lignes avec trois éléments
int TwoDimensionalArray[2][3] = {
{1, 2, 3},
{4, 5, 6}
};

// tableau multidimensionnel de la forme "S" dans Tetris
const char MultiDimensionalArray[2][2][4] = {
  {{1, 1, 0, 0}, {0, 1, 1, 2}},
  {{0, 1, 1, 2}, {0, 0, 1, 1}}
};

Conclusion. Dans le langage de programmation Arduino, les tableaux sont des structures de données utilisées pour stocker plusieurs valeurs du même type de données (nombres ou chaînes). Les tableaux sont des cellules contiguës de la mémoire qui stockent des valeurs. Dans cet article, nous avons abordé la structure et les méthodes de déclaration des tableaux et donné des exemples pour faciliter la compréhension de l’utilisation des tableaux.





Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.