Wenn du im Seriellen Monitor den Buchstabe 's' eingibst, wird im Seriellen Monitor ein zufällig erzeugter Satz angezeigt.
So sieht es aus (Beispiel):
Bisher kennst du Arrays, die eine bestimmte Anzahl von Elemente in einer Reihe haben (⇒eindimensionale Arrays).
String Eigenschaft[3] = {"schnell ", "langsam ", "im Schritttempo "};
int LED[5] = {3, 4, 5, 6, 7};
Außerdem gibt es noch mehrdimensionale Arrays, sie sind in Reihen und Spalten organisiert.
Beispiel für ein zweidimensionales Array:
// 4 Reihen, 4 Spalten
int Zahlen[4] [4] =
{
{1, 2, 3, 4},
{11, 12, 13, 14},
{21, 22, 23, 24},
{31, 32, 33, 34}
};
Das Beispielprogramm zeigt das Array an:
// 4 Reihen, 4 Spalten
int Zahlen[4] [4] =
{
{1, 2, 3, 4},
{11, 12, 13, 14},
{21, 22, 23, 24},
{31, 32, 33, 34}
};
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial);
delay(1000);
/*
Elemente des Arrays anzeigen
for-Schleife durch die Reihen
*/
for (int Zeile = 0; Zeile < 4; Zeile ++)
{
Serial.print("Zeile " + String(Zeile) + ": ");
// for-Schleife durch die Spalten
for (int Spalte = 0; Spalte < 4; Spalte ++)
{
Serial.print(String(Zahlen[Zeile] [Spalte]) + " ");
}
Serial.println();
}
}
void loop()
{
// bleibt leer, das Programm läuft nur einmal
}
Weiteres Beispiel:
Das Programm bildet aus dem Array vier Sätze und zeigt sie an.
// 2 Reihen, 4 Spalten
String Wortliste[2] [4] =
{
{"Der Bus ", "Das Auto ", "Die U-Bahn ", "Das Motorrad "},
{"h\u00e4lt an der Haltestelle.", "fährt in die Garage.", "stoppt im Bahnhof.", "flitzt über die Autobahn."}
};
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial);
delay(1000);
// alle Sätze anzeigen
for (int i = 0; i < 4; i++)
{
Serial.print(Wortliste[0] [i]);
Serial.println(Wortliste[1] [i]);
}
}
void loop()
{
// bleibt leer, das Programm läuft nur einmal
}
Für diese Anleitung brauchst du nur einen Arduino.
Definiere die Arrays:
// Array für die Artikel vor dem Substantiv und das Substantiv
// jeweils 6 Elemente -> Zählung beginnt mit 0
String Artikel_Substantiv [6] [6] =
{
{"Der ", "Das ", "Die ", "Das ", "Das ", "Der "},
{"Bus ", "Auto ", "U-Bahn ", "Fahrrad ", "Motorrad ", "Lastwagen "},
};
// eindimensionales Array für die Eigenschaften
String Eigenschaft [6] = {"rasant ", "im Zeitlupentempo ", "schnell ", "langsam ", "zügig ", "im Schritttempo "};
// Array für Verb und das Objekt
String Verb_Objekt [6] [6] =
{
{"rollt ", "saust ", "rast ", "schleicht ", "fährt ", "bummelt "},
{"auf die Autobahn. ", "ans Ende der Welt.", "um die Ecke.", "zum Bahnhof.", "zur Haltestelle.", "in die Garage."}
};
// Bereich der zufällig erzeugten Zahlen
int Minimum = 0;
int Maximum = 6;
Der setup-Teil startet den Seriellen Monitor.
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial);
delay(1000);
Serial.println("s = neuer Satz");
}
Der loop-Teil. Beachte die Kommentare.
void loop()
{
// auf serielle Eingabe warten
while (Serial.available() > 0)
{
// Eingabe im Seriellen Monitor lesen
char Zeichen = Serial.read();
// wenn s eingegeben wurde
if (Zeichen == 's')
{
int Position = random(Minimum, Maximum);
/*
Bestimmung des Artikels und des Substantivs
entsprechend der Position im Array Artikel_Substantiv
0 -> Artikel
1 -> Substantiv
*/
Serial.print(Artikel_Substantiv[0] [Position]);
Serial.print(Artikel_Substantiv[1] [Position]);
// Bestimmung des Verbs -> Position 0 im Array Verb_Objekt
Position = random(Minimum, Maximum);
Serial.print(Verb_Objekt[0] [Position]);
// Festlegung der Eigenschaft
Position = random(Minimum, Maximum);
Serial.print(Eigenschaft[Position]);
// Objekt auswählen -> Position 1 im Array Verb_Objekt
Position = random(Minimum, Maximum);
Serial.println(Verb_Objekt[1] [Position]);
}
}
}
Verwandte Anleitungen:
- Einmaleinsreihen anzeigen
- Fußballtipp
- Geldautomat
- Laplace-Versuch
- Lottozahlen - Anzeige im Seriellen Monitor
- Primzahlen ermitteln
- Schneckenrennen
- Städte-Info
- Taschenrechner Grundrechenarten
- Teiler bestimmen
- Vokale zählen
- Vollkommene Zahlen
- Würfeln Serieller Monitor
Letzte Aktualisierung: