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, FCada 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.
Desafio
FácilToque 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
}
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