Reproductor de canción de Navidad (6 / 6 paso)

Paso 6: Tiempo para ejecutarlo!!!

Después de que hemos conectado todo el hardware y analizaron el código estamos dispuestos a correrlo!.

Video
http://youtu.be/lV9WurONtV0

Como Resumen
El programa contará con 3 partes principales:

-La primera parte consta de declaración de variables, constantes y las importaciones de otros archivos.  Importa el archivo "pitches.h", allí se encuentra la constante de las notas con sus frecuencias. Usted puede descargar de la página de arduino: http://arduino.cc/en/Tutorial/Tone3
-La segunda parte es el setup() que básicamente es la inicialización del programa.  Aquí vamos a definir los pines de entrada/salida y otras cosas. La parte de configuración sólo se ejecutará una vez, al principio del programa.
-La tercera parte is el loop(). Esto será siempre hasta que usted apague el arduino. Allí usted encontrará el código del programa principal que juega la canción y luz para arriba el led con diferentes colores.  También perciben el valor del potenciómetro para definir la velocidad (tempo) que va a jugar.

Todo el código completo:

/ * Melodía
Juega una melodía
circuito:
* 8 ohmios Altavoz en el pin digital 8
Base en el ejemplo de http://arduino.cc/en/Tutorial/Tone por Tom Igoe
Modificado por: Irene Meiying Cheung Ruiz
*/

#include "pitches.h"
#define SONG1_SIZE 24
#define SONG2_SIZE 14

Notas de la melodía 1:
int melody1 [] = {}
NOTE_D3, NOTE_B3, NOTE_A3, NOTE_G3, NOTE_D3,
NOTE_D3, NOTE_D3, NOTE_D3, NOTE_B3, NOTE_A3, NOTE_G3, NOTE_E3, 0,
NOTE_E3, NOTE_C4, NOTE_B3, NOTE_A3, NOTE_FS3, 0,

NOTE_D4, NOTE_D4, NOTE_C4, NOTE_A3, NOTE_B3
};
Notas de la melodía 2:
int melody2 [] = {}
NOTE_F4, NOTE_E4, NOTE_D4, NOTE_C3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_F3,
NOTE_C4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_E4, NOTE_F4
};

Tenga en cuenta las duraciones de melodía 1:4 = cuarto nota, 8 = corchea, etc..:
int noteDurations1 [] = {}
4, 4, 4, 4, 2.5,
8, 8, 4, 4, 4, 4, 2.5, 2,
4, 4, 4, 4, 2.5, 2,
4, 4, 4, 4, 1};

Tenga en cuenta las duraciones de la melodía 2:4 = cuarto nota, 8 = corchea, etc..:
int noteDurations2 [] = {}
2, 2.5, 8, 1.5, 4, 2, 2, 1.5,
4, 1.8, 4, 1.8, 4, 1};

Pernos de
int redPin = 11;
int greenPin = 10;
bluePin int = 9;
int tecla = 2;

variables de control
int contador = 0;
presiona int = 0;
playsong boolean = false;

variables temp //Song
int songSizeS;
int * noteDurationS = 0;
int * melodyS = 0;

variables de control de velocidad
int sensorValue = 0;
tempo de flotador = 0;

inicialización de
void setup() {
pines de configuración
pinMode (redPin, salida);
pinMode (greenPin, salida);
pinMode (bluePin, salida);
pinMode (botón, entrada);

luz hasta verde al principio
mapColor(-1);
propósitos de depuración
Serial.Begin (9600); opcional
}

principal del programa
void loop() {
detectar cuando se presiona el botón
if(digitalRead(button) == LOW)
{
presiona = 1;
}

detectar cuando el botón es liberado
if(digitalRead(button) == alto & & presionado == 1)
{
contador ++;
presiona = 0;
playsong = true;
variable para el control de cuándo iniciar la canción

decidir que canción
si (contador % 2 == 0)
{
songSizeS = SONG1_SIZE;
noteDurationS = noteDurations1;
melodyS = melody1;
}
otra cosa
{
songSizeS = SONG2_SIZE;
noteDurationS = noteDurations2;
melodyS = melody2;
}
}

comienzo la canción si se presiona el botón:
if(playsong)
{

playsong = false;
/ / iterar sobre las notas de la melodía
para (int thisNote = 0; thisNote < songSizeS; thisNote ++)
{
//sensor valor de potenciómetro asignado al rango de valores de velocidad de 1-3
sensorValue = analogRead(A0);
Tempo = sensorValue * (3.0 / 1023.0); Serial.println(tempo);

para calcular la duración de la nota, tomar un segundo
dividido por el tipo de nota.
por ejemplo, trimestre Nota = 1000 / 4, corchea = 1000/8, etc. int noteDuration = 1000/noteDurationS [thisNote];
tono (8, melodyS[thisNote],noteDuration);
encenderá el led rgb dependiendo de la nota
mapColor (melodyS [thisNote]);
para distinguir las notas, establecer un tiempo mínimo entre ellos.
duración de la nota * tempo
int pauseBetweenNotes = noteDuration * tempo;
Delay(pauseBetweenNotes);

detener la reproducción de tono:
noTone(8);
la luz del estado del led para inicial (color verde)
mapColor(-1);
}
}
}

función que se asigna la nota a un determinado color
combina el color de RGB a producir diferentes
void mapColor (int Nota)
{
Switch(Note)
{
caso NOTE_C3:
caso NOTE_C4:
analogWrite (redPin, 0);
analogWrite (greenPin, 255);
analogWrite (bluePin, 255);
rotura;
caso NOTE_D3:

caso NOTE_D4:
analogWrite (redPin, 0);
analogWrite (greenPin, 0);
analogWrite (bluePin, 255);
rotura;
caso NOTE_E3:
caso NOTE_E4:
analogWrite (redPin, 255);
analogWrite (greenPin, 0);
analogWrite (bluePin, 0);
rotura;
caso NOTE_F3:
caso NOTE_F4:
analogWrite (redPin, 0);
analogWrite (greenPin, 255);
analogWrite (bluePin, 0);
rotura;
caso NOTE_G3:
caso NOTE_G4:
analogWrite (redPin, 255);
analogWrite (greenPin, 0);
analogWrite (bluePin, 255);
rotura;
caso NOTE_A3:
caso NOTE_A4:
analogWrite (redPin, 255);
analogWrite (greenPin, 255);
analogWrite (bluePin, 0);
rotura;
caso NOTE_B3:
caso NOTE_B4:
analogWrite (redPin, 0);
analogWrite (greenPin, 0);
analogWrite (bluePin, 0);
rotura;
caso 0: / / representa el estado final o el silencio
analogWrite (redPin, 255);
analogWrite (greenPin, 255);
analogWrite (bluePin, 255);
rotura;

-1 del caso:/ representa el estado inicial
analogWrite (redPin, 255);
analogWrite (greenPin, 0);
analogWrite (bluePin, 255);
rotura;
por defecto:
notas de //other
analogWrite (redPin, 105);
analogWrite (greenPin, 255);
analogWrite (bluePin, 100);
rotura;
}
}

Artículos Relacionados

Villancicos de la disfunción: un juego de canción de Navidad

Villancicos de la disfunción: un juego de canción de Navidad

Navidad es esa época mágica del año en familia y amigos se reúnen y sobreviene el caos.  Tío Benny bebe demasiado claveteado rompope.  Tía Elizabeth se sienta en su silla y silencio rompe viento.  Mamá y papá discuten por quién tenía qué tarea hacer.
Caja de Navidad: Arduino/ioBridge internet controla luces de Navidad y show musical

Caja de Navidad: Arduino/ioBridge internet controla luces de Navidad y show musical

mi proyecto de Navidad de la caja consiste en un internet controlado por luces de Navidad y show musical. Una canción de Navidad se puede solicitar on-line que se ponen en una cola y jugó en el orden que se pidió. La música es transmitida en una emis
Reproductor de LinkitONE MP3

Reproductor de LinkitONE MP3

LinkitONE es una cosa sorprendente para los principiantes de la electrónica. Seincluso es fácil reproducir música, interfaz wifi y BT. aquí vas mostrandousted cómo puede hacer su propio reproductor de canción usando una tarjeta SD y Linkit Junta.Paso
Navidad guirnalda Arduino y MP3 del saludo

Navidad guirnalda Arduino y MP3 del saludo

Esta corona utiliza un microcontrolador Arduino con el escudo de Adafruit MP3 y sensor de movimiento PIR de Parallax para detectar si alguien se acerca a la puerta. Luego juega con un saludo pregrabado y acamparon a sonar como un elfo, después de lo
Navidad guirnalda 2.0 frambuesa Pi / Arduino "Selfie / Photobooth"

Navidad guirnalda 2.0 frambuesa Pi / Arduino "Selfie / Photobooth"

Este es mi arte festivo para el año 2015 y se basa en mi Arduino 2014 basado en sintonizar jugar Navidad guirnalda de la Navidad. Me puse a tocar con la frambuesa PI este año y ha gustado lo de ejecutar en linux y las diferentes opciones que tenía co
El mejor regalo personalizado geek - hacer un QR de punto de Cruz código

El mejor regalo personalizado geek - hacer un QR de punto de Cruz código

hice esto como un regalo para mi hermana estas Navidades. El código QR, cuando se analizan en un smartphone, conduce a un video en YouTube - una presentación de fotografías de Navidad infantil.No tarda mucho en hacer y le encantó, ya que era algo un
Analizador de espectro ATtiny85 con fix_FFT

Analizador de espectro ATtiny85 con fix_FFT

ATtiny85 analizador de espectro para la música a LED RGB con FFTEntusiasmado con el nuevo descubrimiento de la biblioteca FHT. Realmente definitivamente tuyo quiere darle una oportunidad en un ATtiny85. Después de horas masajeando el código para hace
Luces de Navidad Musical accionado Arduino

Luces de Navidad Musical accionado Arduino

después de explorar la Web de Instructables he encontrado unos pocos proyectos que enarboló mi interés y los que me llevan a pensar, podría hacer algunas luces de Navidad musical. Mayoría de lo que gasté mi tiempo en vino de Instructable de Amanda Gh
Cuenta regresiva MUSICAL mágica Navidad máquina

Cuenta regresiva MUSICAL mágica Navidad máquina

Todo esto empezado cuando mi nieto más joven preguntó ¿cuánto es hasta Navidad?Comencé a pensar de cierta manera para un de tres años entender lo que significa ¿cuánto?Como la relación entre días, horas, minutos y segundos.Sabía lo que era "Hoy"
Musicalmente sincronizada las luces de Navidad

Musicalmente sincronizada las luces de Navidad

Durante la temporada de Navidad, que es obligados a ver casas que se engalana con luces de Navidad que se sincronizan a la música. Puedes estar pensando que tu casa nunca será capaz de tener luces de Navidad musical porque los sistemas de control son
LittleBits reproductor de música Wi-Fi

LittleBits reproductor de música Wi-Fi

Sin hilos controlar este reproductor de música con el teléfono o a través de una variedad de canales IFTTT.Utilizar Control de Cloud (en su teléfono u ordenador) para avanzar de a canción a la siguiente o probar la fecha y hora canal de IFTTT para ha
Cubierta libro de Adviento de la Navidad (sin coser)

Cubierta libro de Adviento de la Navidad (sin coser)

Me dieron un años libro de Adviento Navidad antes de tener una familia. Una vez que llegó mi familia, mis hijos amaban las historias dentro y recordando Navidades pasado de las historias y añadiendo más historias.Cada año lo primero después de que el
UNA NAVIDAD MUY FELIZ OVALTINE!

UNA NAVIDAD MUY FELIZ OVALTINE!

Cada Navidad, millones de personas celebran la Navidad sin adoptar correctamente la película una historia de Navidad. ¿No es tiempo que ayudó a detener esta epidemia? No es hora que lanzó hacia fuera esa decoración inflable basura de tiempo golpeado
Reproductor de música fiesta de ruleta

Reproductor de música fiesta de ruleta

¿Este es el reproductor de música del partido de la ruleta, porque todo es mejor con un poco de riesgo correcta?Al crear música para una reunión de amigos (partido, noche de juegos, sesiones de Espiritismo, etc.), tienes dos opciones. Usted puede blo