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, FJeder 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.
Aufgabe
EinfachSpiele 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
}
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