Paso 15: Laboratorio adicional CIRC-06B
los nuevos billetes son eeggeeee, pausa. El código editado está por debajo. Tuve que decir que ahora hay 9 notas, el orden de las notas del estado y dejar un espacio para la pausa, en la línea de abajo que tuve que decir la longitud de cada nota de remolacha. Luego pasado tenía despacio reduciendo el tempo de la canción.
/ * Melodía* (hendidura) 2005 D. Cuartiella para K3
*
* Este ejemplo utiliza un altavoz piezoeléctrico melodías. Envía
* una onda cuadrada de la frecuencia apropiada para el piezo, generando
* el tono correspondiente.
*
* El cálculo de los tonos se hace siguiendo la matemática
* operación:
*
* timeHigh = período / 2 = 1 / (2 * estándarFrecuencia)
*
* donde se describen los diversos tonos como en la tabla:
*
* Nota frecuencia período timeHigh
* c 261 Hz 3830 1915
* d 294 Hz 3400 1700
* e Hz 329 3038 1519
* f 349 Hz 2864 1432
* g 392 Hz 2550 1275
* un 440 Hz 2272 1136
* b 493 Hz 2028 1014
* C 523 Hz 1912 956
*
* http://www.arduino.cc/en/Tutorial/Melody
*/
int speakerPin = 9;
int longitud = 9; el número de notas
Notas de Char [] = "eeggeeee"; un espacio representa un descanso esta es la parte cambia
beats de int [] = {2, 2, 1, 1, 2, 2, 1, 1, 1}; ESTA ES LA PARTE DE CAMBIO
tempo de Int = 200; ESTO SE REDUCE FORMA 300, POR LO QUE JUEGA MÁS LENTO
{} void playTone (int tono, duración de int)
para (largo i = 0; i < duración * 1000L; i += tono * 2) {}
digitalWrite (speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite (speakerPin, bajo);
delayMicroseconds(tone);
}
}
{} void playNote (char nota, int duración)
char nombre [] = {'c','d ', 'e', 'f', 'g', 'a', 'b', 'C'};
tonos de int [] = {1915, 1700, 1519, 1432, 1275, 1136, 1014, 956};
reproducir el tono correspondiente a nombre de la nota
para (int i = 0; i < 8; i ++) {}
Si (nombres [i] == Nota) {}
playTone (tonos [i], duración);
}
}
}
void setup() {}
pinMode (speakerPin, salida);
}
void loop() {}
para (int i = 0; i < longitud; i ++) {}
Si (notas [i] == ' ') {}
retardo (golpes [i] * tempo); resto
} else {}
playNote (notas [i], golpes [i] * tempo);
}
pausa entre las notas
Delay(tempo / 2);
}
}