Arduino Array – Beschreibung, Beispiele, Referenz

Ein Array ist eine Datenstruktur, die mehrere Werte desselben Typs speichert. In der Arduino IDE können Arrays verschiedene Arten von Daten speichern, wie Zahlen (byte, int, float, Strings, etc). Die Struktur von Arrays in Arduino (Datenfelder) ist ähnlich wie bei anderen Programmiersprachen. Um mit Arrays zu arbeiten, deklariert man ein Array von Symbolen und greift auf dessen Elemente zu, um sie in einem Sketch zu verwenden.




Bestandteile:

  • Arduino Uno / Arduino Nano / Arduino Mega

Was sind Arrays in Arduino IDE? Arrays (Datenfeld) nutzen zusammenhängende Speicherplätze, um mehrere Variablen desselben Datentyps zu speichern. Die Verwendung eines Arrays in einem Programm hat den Vorteil, dass es Speicherplatz auf dem Mikrocontroller spart. Wenn das Array nicht mehr genug Platz hat, um Elemente zu speichern, werden die Daten in angrenzenden Speicherplätzen abgelegt.

Was ist ein Datenfeld in der Arduino-Sprache?

Was ist ein Arrays in der Arduino-Sprache

Die Abbildung zeigt die Struktur eines numerischen Arrays int array[5] mit fünf Speicherplätzen. Der Name des Arrays ist array, und die gespeicherten numerischen Daten sind 55, 145, 250, 0 und 193. Das Array hat das erste Element mit dem Index null array[0]. Alle Arrays (Datenfelder) beginnen an der Position null und enden mit einem Element, dessen Index um eins kleiner ist als die Gesamtzahl der Arrayelemente array[4].

Deklaration eines Arrays in der Arduino-Sprache

So wie in der Arduino-Sprache lokale und globale Variablen verschiedener Datentypen deklariert werden, wird auch ein Array von Variablen global oder lokal deklariert. Es gibt drei Möglichkeiten, ein Array in einem Programm zu erstellen (zu deklarieren):

1 Methode der Array-Initialisierung

// Array-Deklaration mit der Größe und den Werten der Elemente
int myArray [5] = { 10, 20, 30, 40, 50 };

2 Methode der Array-Initialisierung

// Das Datenfeld wird deklariert, ohne dass seine Größe angegeben wird
// Um bei Bedarf mehr als fünf Elemente darin speichern zu können
int myArray [] = { 10, 20, 30, 40, 50 };

3 Methode der Array-Initialisierung

// Array-Deklaration ohne Angabe von Größe und Elementwerten
int myArray [] = { };

Wie man auf Arduino Array Elemente zugreift

Arduino UNO Eigenschaften, Pinout, Datasheet

In dem Programm können wir auf jedes Element eines Arrays zugreifen. Wir haben zum Beispiel ein Array int array [5] = { 55,145,250,0,193 };. Wenn wir auf das zweite Element mit dem Wert 145 zugreifen wollen, sollten wir den Array-Namen mit der Indexnummer des zweiten Elements in eckigen Klammern array[1] verwenden. Schließen Sie das Arduino-Board an den Computer an und laden Sie das folgende Programm in den Mikrocontroller.

Programm für Erstellung von Arrays (Datenfeld)




// Erstellen Sie ein Array mit der angegebenen Anzahl von Elementen
int myArray[5] = { 10, 20, 30, 40, 50 };

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

  Serial.print(myArray[1]); // Ausgabe des zweiten Elements
  Serial.print(" + ");
  Serial.print(myArray[4]); // Ausgabe des fünften Elements
  Serial.print(" = ");
  Serial.println(myArray[1] + myArray[4]); // Summe der Elemente
  Serial.println("");
  delay(1000);

  // Erstellen Sie ein Zeichenfeld, ohne die Anzahl der Elemente anzugeben
  char chArray[] = { 'H','e','l','l','o',' ','w','o','r','l','d' };
  
  String text = String(chArray); // Die Zeichen aneinanderreihen
  Serial.println(text); // Senden Sie den String an den Port-Monitor
  Serial.println("");
  delay(1000);

  // Erstellen Sie Array von Strings, ohne die Anzahl der Elemente anzugeben
  String stArray[] = { "Welcome ", "to ", "de.arduino-france.site" };

  // Matrix-Ausgang zum Port-Monitor
  Serial.println(stArray[0] + stArray[1] + stArray[2]);
  Serial.println("");
}

void loop() {

}
  1. Das Datenfeld myArray[5] hat im Programm eine globale Sichtbarkeit. Im Gegensatz dazu sind chArray[] und stArray[] Datenfelder mit lokaler Sichtbarkeit.

Das Programm ermöglicht es, die Länge von Arrays oder einzelnen Elementen zu ermitteln und Daten vom Sensor in das Datenfelder zu schreiben oder zu überschreiben. Im folgenden Beispiel zeigen wir auf dem Portmonitor die Größe des ersten Elements des Arrays in Bytes und die Länge des gesamten Arrays an. Dann überschreiben wir das erste Element im Array mit dem neuen Wert und zeigen den neuen Text auf dem Portmonitor an.

Programm für Berechnung der Länge eines Arrays

// Erstellung von String-Arrays
String strArray[] = { "Welcome ", "to ", "de.arduino-france.site" };

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

  // sendet das String-Array an den Port Monitor
  Serial.println(strArray[0] + strArray[1] + strArray[2]);
  Serial.println("");
  delay(1000);
  
  int x = sizeof(strArray[0]); // Größe des ersten Elements in Bytes
  Serial.println("sizeof(Welcome) = " + String(x));
  Serial.println("");
  delay(1000);

  int y = sizeof(strArray); // Größe des gesamten Arrays in Bytes
  Serial.println("sizeof(strArray) = " + String(y));
  Serial.println("");
  delay(1000);

  strArray[0] = "Go "; // Berechnung der Länge eines Arrays 

  // sendet das String-Array an den Port Monitor
  Serial.println(strArray[0] + strArray[1] + strArray[2]);
  Serial.println("");
}

void loop() {

}
  1. Die Größe in Bytes entspricht der Anzahl der Zeichen.

Arduino Array – Beschreibung, Beispiele, Referenz

Die Arduino-Programmiersprache unterstützt nicht nur eindimensionale Arrays, sondern auch zweidimensionale Arrays. Diese können zwei Listen speichern. Die Methode zur Erstellung eines 2-dimensionalen Arrays ist ähnlich. Es gibt auch mehrdimensionale Arrays. Im Tetris Game auf Arduino mit OLED-Display speichern die mehrdimensionalen Arrays der Skizze beispielsweise die auf dem Bildschirm erscheinenden Formen.

Eindimensionale, zweidimensionale, mehrdimensionale Arrays

// eindimensionale Fünf-Elemente Datenfeld
int OneDimensionalArray[5] = {10, 20, 30, 40, 50};

// zweidimensionale Datenfeld aus zwei Reihen mit je drei Elementen
int TwoDimensionalArray[2][3] = {
{1, 2, 3},
{4, 5, 6}
};

// mehrdimensionale Datenfeld der "S"-Form in Tetris
const char MultiDimensionalArray[2][2][4] = {
  {{1, 1, 0, 0}, {0, 1, 1, 2}},
  {{0, 1, 1, 2}, {0, 0, 1, 1}}
};

Schlussfolgerung. In der Arduino sind Arrays Datenstrukturen, die zur Speicherung mehrerer Werte desselben Datentyps (Zahlen oder Zeichenketten) verwendet werden. Arrays sind zusammenhängende Speicherzellen, in denen Werte gespeichert werden. In diesem Artikel haben wir den Aufbau und die Deklarationsmethoden von Arrays besprochen und Beispiele gegeben, um die Verwendung von Arrays zu verstehen.

Rate this post


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert