
Im Seriellen Monitor sollen verschiedene Information zu Städten angezeigt werden.
Nach Eingabe einer Zahl zwischen 1 und 4 im Seriellen Monitor soll die Information zur entsprechenden Stadt des Arrays angezeigt werden.
Mit Eingabe der Zahl 5 wird eine zufällige Auswahl getroffen.

Bei dieser Anleitung lernst du einen neuen Datentyp kennen. In ⇒Arrays lassen sich nur Daten vom gleichen Typ definieren.
Strukturen (struct) sind eine Sammlung und Beschreibung verschiedener Daten. Sie können beliebige Datentypen verwenden. Die Struktur ist die Vorlage für die Definition der konkreten Daten.
In den Beispielen werden verschiedene Informationen zu den einzelnen Städten mithilfe unterschiedlicher Datentypen zusammengefasst.
Zunächst wird eine Schablone definiert:
|
1 2 3 4 5 6 7 8 9 10 |
struct Stadt { int Platz; String Name; String KFZ_Kennzeichen; float Einwohner; String Vorwahl; int Hoehe; String Land; }; |
Definition der Daten:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
void ZeigeDaten(int i) { // bei der Einwohnerzahl . durch , ersetzen String Einwohner = String(Namen[i].Einwohner); Einwohner.replace(".", ","); // Daten anzeigen, mit Tabulator (\t) formatieren Serial.print(String(Namen[i].Platz) + "\t"); Serial.print(Namen[i].Name + "\t\t"); Serial.print(Namen[i].KFZ_Kennzeichen + "\t\t"); Serial.print(Einwohner + "\t"); Serial.print(String(Namen[i].Hoehe) + "\t"); Serial.print(Namen[i].Vorwahl + "\t\t"); Serial.println(Namen[i].Land); } |
Im setup-Teil wird der Serielle Monitor gestartet und über den Ablauf des Programms informiert. Mit Hilfe des Tabulators (\t} wird die Ausgabe formatiert.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
void setup() { Serial.begin(9600); // auf serielle Verbindung warten while (!Serial) {;} // Info Serial.println("Liste der Gro\u00dfst\u00e4dte mit mehr als 1 Mio Einwohner"); Serial.println("----------------------------------------------------------"); Serial.println("1 = Berlin"); Serial.println("2 = Hamburg"); Serial.println("3 = München"); Serial.println("4 = Köln"); Serial.println("----------------------------------------------------------"); Serial.println("Platz\tStadt\t\tKFZ\tEinw. in Mio.\tHöhe\tVorwahl\t\tBundesland"); } |
Der loop-Teil:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
void loop() { // auf serielle Eingabe warten while (Serial.available() > 0) { // Eingabe im Seriellen Monitor lesen String Eingabe = Serial.readStringUntil(char(13)); // String Eingabe nach int umwandeln // die Funktion ZeigeDaten kann dann direkt aufgerufen werden int Auswahl = Eingabe.toInt(); // wenn Auswahl > 0 und < 5 // weil das Array mit 0 beginnt, 1 abziehen if (Auswahl > 0 && Auswahl < 5) ZeigeDaten(Auswahl - 1); // zufällige Auswahl if (Auswahl == 5) { int Minimum = 0; int Maximum = 4; int Zahl = random(Minimum, Maximum); ZeigeDaten(Zahl); } } } |
Die Funktion ZeigeDaten zeigt die Informationen an:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
void ZeigeDaten(int i) { // bei der Einwohnerzahl . durch , ersetzen String Einwohner = String(Namen[i].Einwohner); Einwohner.replace(".", ","); // Daten anzeigen, mit Tabulator (\t) formatieren Serial.print(String(Namen[i].Platz) + "\t"); Serial.print(Namen[i].Name + "\t\t"); Serial.print(Namen[i].KFZ_Kennzeichen + "\t\t"); Serial.print(Einwohner + "\t"); Serial.print(String(Namen[i].Hoehe) + "\t"); Serial.print(Namen[i].Vorwahl + "\t\t"); Serial.println(Namen[i].Land); } |
Ähnliche Projekte
- Einmaleinsreihen anzeigen
- Einmaleinsreihen – Anzeige mit Keyes-Fernbedienung
- Fußballtipp
- Geldautomat
- Kniffel – EEPROM verwenden
- Lottozahlen – Anzeige im Seriellen Monitor
- Primzahlen ermitteln
- Satzmaschine
- Teiler bestimmen
- Vokale zählen
Letzte Aktualisierung:






