Menu
CoddyTech

Notas em uma lista

Parte da seção Saídas do Journey de Arduino da Coddy. Lição 13 de 24.

Uma melodia é uma lista de notas. Um array mantém uma lista de valores sob um único nome:

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

Cada valor tem uma posição chamada índice, e a contagem começa em 0: notes[0] é 262, notes[1] é 294, e o último, notes[3], é 349. Não existe notes[4]: lê-lo retorna o que quer que esteja na memória depois do array.

O índice pode ser uma variável. Mantenha uma, toque a nota para a qual ela aponta e, em seguida, avance-a:

int i = 0;

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

Cada vez que loop() é executada, a próxima nota toca. Depois da última, o índice volta para 0 e a melodia começa novamente.

challenge icon

Desafio

Fácil

Toque as notas C, D, E e F uma após a outra no pino 8, por 400 ms cada, repetidamente:

  • mantenha as quatro frequências em um array: 262, 294, 330, 349
  • use uma variável de índice para tocar a próxima nota cada vez que loop() for executada
  • após a última nota, volte à primeira

Pressione Run e depois Check.

Experimente você mesmo

const int buzzerPin = 8;
// crie o array notes e a variável index aqui

void setup() {
}

void loop() {
  // toque a nota na posição indicada pelo índice, espere 400 ms e passe para a próxima
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Saídas

Pratique por conta própria: Playground de Arduino