Menu
CoddyTech

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, F

Ogni 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.

challenge icon

Sfida

Facile

Riproduci 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
}
quiz iconMettiti alla prova

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