Menu
CoddyTech

Noten in einem Array

Teil des Abschnitts Ausgaben der Arduino-Journey von Coddy. Lektion 13 von 24.

Eine Melodie ist eine Liste von Noten. Ein Array speichert eine Liste von Werten unter einem Namen:

int notes[] = {262, 294, 330, 349};  // C, D, E, F

Jeder Wert hat eine Position, die Index genannt wird, und das Zählen beginnt bei 0: notes[0] ist 262, notes[1] ist 294 und der letzte Wert, notes[3], ist 349. Es gibt kein notes[4]: Beim Lesen erhältst du den Wert, der sich zufällig im Speicher hinter dem Array befindet.

Der Index kann eine Variable sein. Behalte eine Variable bei, spiele die Note ab, auf die sie zeigt, und erhöhe sie dann:

int i = 0;

void loop() {
  tone(8, notes[i]);
  delay(400);
  i = i + 1;
  if (i == 4) {
    i = 0;
  }
}

Jedes Mal, wenn loop() ausgeführt wird, ertönt die nächste Note. Nach der letzten Note springt der Index zurück auf 0 und die Melodie beginnt von vorn.

challenge icon

Aufgabe

Einfach

Spiele die Noten C, D, E und F nacheinander auf Pin 8, jeweils 400 ms, immer wieder:

  • Speichere die vier Frequenzen in einem Array: 262, 294, 330, 349
  • Verwende eine Indexvariable, um jedes Mal, wenn loop() ausgeführt wird, die nächste Note abzuspielen
  • Gehe nach der letzten Note wieder zur ersten zurück

Drücke Run und dann Check.

Probier es selbst

const int buzzerPin = 8;
// Erstelle hier das Array notes und die Variable index

void setup() {
}

void loop() {
  // Spiele die Note an der Position index, warte 400 ms und gehe zur nächsten Note über
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Ausgaben

Übe selbstständig: Arduino-Playground