Note in un array
Fa parte della sezione Uscite del percorso Arduino di Coddy. Lezione 13 di 24.
Una melodia è un elenco di note. Un array raccoglie un elenco di valori sotto un unico nome:
int notes[] = {262, 294, 330, 349}; // C, D, E, FOgni valore ha una posizione chiamata indice, e il conteggio parte da 0: notes[0] è 262, notes[1] è 294 e l’ultimo, notes[3], è 349. Non esiste notes[4]: leggerlo restituisce ciò che si trova casualmente in memoria dopo l’array.
L’indice può essere una variabile. Tienine uno, riproduci la nota a cui punta, poi incrementalo:
int i = 0;
void loop() {
tone(8, notes[i]);
delay(400);
i = i + 1;
if (i == 4) {
i = 0;
}
}Ogni volta che viene eseguito loop(), viene riprodotta la nota successiva. Dopo l’ultima, l’indice torna a 0 e la melodia ricomincia.
Sfida
FacileRiproduci le note C, D, E e F una dopo l’altra sul pin 8, per 400 ms ciascuna, ancora e ancora:
- mantieni le quattro frequenze in un array: 262, 294, 330, 349
- usa una variabile indice per riprodurre la successiva ogni volta che viene eseguito
loop() - dopo l’ultima nota, torna alla prima
Premi Run, poi Check.
Provalo tu
const int buzzerPin = 8;
// crea qui l'array notes e la variabile index
void setup() {
}
void loop() {
// riproduci la nota all'indice corrente, attendi 400 ms, passa alla successiva
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Uscite
Esercitati da solo: Playground Arduino