Juego el francés puede poder utilizando un Arduino y un zumbador (9 / 11 paso)

Paso 9: Jugar la Can Can

Es el momento de hacer música! Utilizando un piano de cola (o Garage Band en mi caso), escuchar las distintas notas que desea crear. Tocar la canción de oído, o ver en partituras. Para cada nota que desea crear, se cuenta desde la primera nota en la matriz, F, para averiguar que número entero de la nota en la matriz coincide con la nota tocada en el piano.

NoteInt ejemplo:

G =??: podrá resolver esto.
F = 0
Añadir una octava (12) para hacer el tono más agradable este zumbador = 12
G es mayores que F (clave blanco y negro) en el teclado 2 llaves, así que agregamos 2 = 14
G = 14

Longitud de juego en este ejemplo:

una 16ª Nota = 250 milisegundos
una corchea = 500 milisegundos
una nota de cuarto = 1000 milisegundos
una nota de media = 2000 milisegundos
redonda = 4000 milisegundos

Además, la longitud de 'aliento' por defecto en la función playNote() se ha cambiado a 20, para dar una leve pausa entre cada nota para dar un efecto de 'tee-tee-tee-tee' al jugar. Aquí están los resultados:

---copia después de esta línea---

Función de ejemplo de timbre para el timbre de CEM-1203 (de Sparkfun parte #COM-07950).
por Rob Faludi
http://www.Faludi.com

Adiciones por Christopher Stevens
http://www.christopherstevens.cc

referencia de http://www.phy.mtu.edu/~suits/notefreqs.html
a partir de F noteFreqArr [1]
int noteFreqArr [] = {}
49.4 52.3, 55.4, 58.7, 62.2, 65.9, 69.9, 74, 78.4, 83.1, 88, 93.2,
98.8, 105, 111, 117, 124, 132, 140, 148, 157, 166, 176, 186,
198, 209, 222, 235, 249, 264, 279, 296, 314, 332, 352, 373,
395, 419, 444, 470, 498, 527, 559, 592, 627, 665, 704, 746,
790 837, 887, 940, 996, 1050, 1110, 1180, 1250, 1320, 1400, 1490,
1580, 1670, 1770, 1870, 1990, 2100};

void setup() {}
pinMode (4, salida); configurar un pin de salida de zumbador
}

void playNote (int noteInt, larga duración, de largo aliento = 20) {}
longitud = longitud - respiración;
Buzz (4, noteFreqArr [noteInt], longitud);
if(Breath > 0) {//take una breve pausa o 'aliento' si se especifica
Delay(Breath);
}
}

void loop() {}
plato principal
playNote(24,500);

playNote(17,1000);
playNote(19,250);
playNote(22,250);
playNote(21,250);
playNote(19,250);
playNote(24,500);
playNote(24,500);
playNote(24,250);
playNote(26,250);
playNote(21,250);
playNote(22,250);
playNote(19,500);
playNote(19,500);
playNote(19,250);
playNote(22,250);
playNote(21,250);
playNote(19,250);
playNote(17,250);
playNote(29,250);
playNote(28,250);
playNote(26,250);
playNote(24,250);
playNote(22,250);
playNote(21,250);
playNote(19,250);

playNote(17,1000);
playNote(19,250);
playNote(22,250);
playNote(21,250);
playNote(19,250);
playNote(24,500);
playNote(24,500);
playNote(24,250);
playNote(26,250);
playNote(21,250);
playNote(22,250);
playNote(19,500);
playNote(19,500);
playNote(19,250);
playNote(22,250);
playNote(21,250);
playNote(19,250);
playNote(17,250);
playNote(24,250);
playNote(19,250);
playNote(21,250);
playNote(17,250);
Delay(250);
}

{} void buzz (int targetPin, frecuencia largo, longitud)
delayValue largo = 1000000/frecuencia/2; calcular el valor de retardo entre las transiciones
1 segundo 's valor de microsegundos, divididos por la frecuencia, luego dividir por la mitad desde
Hay dos fases en cada ciclo
numCycles largo = frecuencia * longitud / 1000; calcular el número de ciclos de tiempo adecuado
multiplicar la frecuencia, que es realmente ciclos por segundo, por el número de segundos para
obtener el número total de ciclos para producir
para (largo i = 0; i < numCycles; i ++) {/ / de la longitud calculada del tiempo...
digitalWrite(targetPin,HIGH); escribo el pin del zumbador para empujar el diafragma
delayMicroseconds(delayValue); Espere a que el valor de retardo calculado
digitalWrite(targetPin,LOW); Escriba el pin de zumbador baja a tire hacia atrás del diafragma
delayMicroseconds(delayValue); againf de espera o el valor de retardo calculado
}
}

---copiar antes de esta línea---

El Arduino es ahora el que puede puede, pero sigue siendo... bla, bla. El siguiente paso da las notas de textura un poco más.

Artículos Relacionados

Conceptos básicos de convertir su vehículo de control remoto en un sistema autónomo (abejón) utilizando un Arduino

Conceptos básicos de convertir su vehículo de control remoto en un sistema autónomo (abejón) utilizando un Arduino

comencé este proyecto con el objetivo de convertir barato mi RC helicóptero en algo de un UAV o al menos para algunos sensores para reducir las colisiones y otros "haps mal."Ahora por desgracia al principio del proyecto calcularon mal las capaci
Podómetro de Arduino

Podómetro de Arduino

problema: así que mi nutricionista (no todo el mundo tiene un nutricionista) sugerido debo aumentar mi ejercicio que principalmente consiste en pasear a mi perro. Incluso me dio una tabla de actividades y calorías quemadas. Aquí es un ejemplo.http://
Lecciones aprendidas edificio mientras que una inútil caja utilizando un Arduino y un Instructable

Lecciones aprendidas edificio mientras que una inútil caja utilizando un Arduino y un Instructable

Por lo tanto, he encontrado un Instructable en el sitio que parecía bastante bueno. Verás, quería aprovechar el poder de un Arduino para ejecutar un cuadro inútil. Que iba a construir y programar usando el Instructable encontré en el sitio. No sólo e
Puzzlebox órbita: Utilizando un Arduino para controlar un helicóptero infrarrojo

Puzzlebox órbita: Utilizando un Arduino para controlar un helicóptero infrarrojo

en este Instructable vamos a explicar cómo las señales de infrarrojos son utilizados por un control remoto para controlar un juguete o dispositivo, a continuación, demuestran cómo un simple circuito se puede Agregar a un Arduino para manejar el mismo
Cómo capturar codigos de control remoto utilizando un Arduino y un IRreceiver

Cómo capturar codigos de control remoto utilizando un Arduino y un IRreceiver

En este instructable mostraré cómo escribir un pequeño código para capturar los códigos de control remoto en valores hexadecimales y decimales.Esto lo haremos usando al serial monitor que está integrado en el IDE de Arduino.Esto le dará a conocer una
Android controla luces y poder, pfodDevice para Arduino

Android controla luces y poder, pfodDevice para Arduino

Actualización: Ver Andriod/Arduino para principiantes - diseño personalizado Andriod menús para activar salidas de Arduino y apagado. Absolutamente ninguna programación requerida para una alternativa que no requiere ninguna programación en todos.====
Construir un Robot sencillo utilizando un Arduino y un L293 (Puente H)

Construir un Robot sencillo utilizando un Arduino y un L293 (Puente H)

Hola amigos, este es mi primer instructivo y estoy aquí para demostrar cómo construir un robot sencillo con un poco de Arduino programación no te preocupes, he adjuntado el archivo de código a continuación, se puede utilizar para la referencia.Aquell
Serial Servo Controller w/Arduino - Control hasta 12 Servos a la vez utilizando el Arduino y una conexión USB

Serial Servo Controller w/Arduino - Control hasta 12 Servos a la vez utilizando el Arduino y una conexión USB

voy a mostrarle cómo usar el Arduino para controlar hasta 12 servos a la vez con variación mínima.  Mediante una sencilla interfaz serial puede controlar la posición del servo hasta 12 canales.  Hasta 10 posiciones instantáneas se puede guardar y rep
Utilizando un Arduino y Python para parcela/guardar datos

Utilizando un Arduino y Python para parcela/guardar datos

una manera rápida y fácil de ver (y guarde) datos extraídos utilizando un Arduino a tu ordenador.(Nota: no es el método más sólido, pero funciona bastante bien)Materiales:-Arduino (estoy usando un Uno)-Ordenador (tengo un Dell, pero no importa si est
Utilizando un Arduino para cargar un DS lite

Utilizando un Arduino para cargar un DS lite

Este instructable es para una ds lite utilizando un Arduino y dos cables de carga. Este también es mi primer instructivo, así que no puede ser lo mejor posible. :)Aviso: no soy responsable por cualquier daño hecho a tu ds, por favor, trabajo con cuid
Detector de campo electromagnético utilizando un Arduino

Detector de campo electromagnético utilizando un Arduino

Dispositivo electrónico nunca emite una cierta cantidad de campos electromagnéticos y podemos utilizar esta radiación para aprender algunas cosas sobre el circuito.En la actualidad instructable voy a mostrar cómo construir tu propio medidor de campo
Inalámbrico de control remoto utilizando NRF24L01 de 2,4 Ghz: sencillo Tutorial utilizando NRF24L01 & Arduino

Inalámbrico de control remoto utilizando NRF24L01 de 2,4 Ghz: sencillo Tutorial utilizando NRF24L01 & Arduino

Hola a todos este es mi segundo instructable. Después de mucho surf en GOOGLE cuando wont capaces de encontrar un fácil y sencillo tutorial para NRF24L01 transceptor entonces decidió publicar un instructable sobre esto. Este es un simple tutorial cor
Brazo robótico móvil utilizando PHIRO + Arduino

Brazo robótico móvil utilizando PHIRO + Arduino

Estamos de vuelta con otro tutorial para mostrar cómo convertir PHIRO Pro en un brazo robótico móvil fresco que puede elegir y poner cosas! Similar a nuestra anterior PHIRO Arduino Color sensor instructable, vamos a utilizar Código de bolsillo en un
Construcción de juegos retro moderno PC AMD Nintendo utilizando piezas nuevas y viejas

Construcción de juegos retro moderno PC AMD Nintendo utilizando piezas nuevas y viejas

OK, por lo que he leido muchos de los instructables aquí sobre la construcción de un PC utilizando una Nintendo NES como donante para el caso. Han construido muy pocos PCs en los últimos 10 años, pero estoy siempre buscando hacer algo un poco diferen