Notas en un arreglo
Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 13 de 24.
Una melodía es una lista de notas. Un arreglo guarda una lista de valores bajo un mismo nombre:
int notes[] = {262, 294, 330, 349}; // C, D, E, FCada valor tiene una posición llamada índice, y se empieza a contar desde 0: notes[0] es 262, notes[1] es 294 y el último, notes[3], es 349. No existe notes[4]: leerlo devuelve lo que haya en la memoria después del arreglo.
El índice puede ser una variable. Guarda uno, reproduce la nota a la que apunta y después avánzalo:
int i = 0;
void loop() {
tone(8, notes[i]);
delay(400);
i = i + 1;
if (i == 4) {
i = 0;
}
}Cada vez que se ejecuta loop(), suena la siguiente nota. Después de la última, el índice vuelve a 0 y la melodía empieza de nuevo.
Desafío
FácilReproduce las notas C, D, E y F una tras otra en el pin 8, durante 400 ms cada una, una y otra vez:
- guarda las cuatro frecuencias en un arreglo: 262, 294, 330, 349
- usa una variable de índice para reproducir la siguiente cada vez que se ejecute
loop() - después de la última nota, vuelve a la primera
Presiona Run y después Check.
Pruébalo tú mismo
const int buzzerPin = 8;
// crea aquí el array notes y la variable index
void setup() {
}
void loop() {
// reproduce la nota en la posición indicada por index, espera 400 ms y pasa a la siguiente
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Salidas
Practica por tu cuenta: Playground de Arduino