martes, 24 de mayo de 2016

Arduino práctica 8

En la práctica 8 de Arduino UNO teníamos que producir música, para poder hacerlo, necesitamos los siguientes materiales:

- Un cable USB del tipo A-B
- Una placa Arduino UNO
- Una placa de conexiones de 400 contactos
- Un zumbador piezoeléctrico
- Una resistencia de 100 Ohm (marrón, negro marrón)
- Dos cables de prototipado M-M

Una vez cogidos los materiales que vamos a utilizar, montamos el circuito. Al final quedó una cosa así:



Después de haber montado el circuito hay que empezar a programar el código que nos viene en el cuadernillo de Arduino UNO. Una vez escrito el código, a través de un cable USB del tipo A-B conectamos el circuito con el ordenador, que es donde esta el programa donde tenemos escrito el código. Le damos a verificar y si todo está bien, le damos a subir. Este en un vídeo de cómo nos salió a nosotras:
En este caso la melodía que programamos es la de Mario Bross:



Por último este es el código, no tengo captura de pantalla del programa así que os lo dejo así sin más:

// Empezando con Arduino UNO
// Actividad 8: Generando música
//
//Reproduce una melodía almacenada en dos
//arrays, uno de frecuencias (notas musicales) y
//otro de duración de cada nota.
//
// www.complubot.com

//Asociamos ZUMBADOR al pin digital donde lo tenemos conectado
#define ZUMBADOR 8
//Frecuencias de las notas musicales usadas
#define NOTA_E6 1319
#define NOTA_G6 1568
#define NOTA_A6 1760
#define NOTA_AS6 1865
#define NOTA_B6 1976
#define NOTA_C7 2093
#define NOTA_D7 2349
#define NOTA_E7 2637
#define NOTA_F7 2794
#define NOTA_G7 3136
#define NOTA_A7 3520
//Melodía principal de Mario Bross
int melodia[ ] = {
NOTA_E7, NOTA_E7, 0, NOTA_E7, 0, NOTA_C7, NOTA_E7, 0,
NOTA_G7, 0, 0, 0, NOTA_G6, 0, 0, 0,
NOTA_C7, 0, 0, NOTA_G6, 0, 0, NOTA_E6, 0,
0, NOTA_A6, 0, NOTA_B6, 0, NOTA_AS6, NOTA_A6, 0,

NOTA_G6, NOTA_E7, NOTA_G7, NOTA_A7, 0, NOTA_F7, NOTA_G7,
0, NOTA_E7, 0, NOTA_C7, NOTA_D7, NOTA_B6, 0, 0,

NOTA_C7, 0, 0, NOTA_G6, 0, 0, NOTA_E6, 0,
0, NOTA_A6, 0, NOTA_B6, 0, NOTA_AS6, NOTA_A6, 0,

NOTA_G6, NOTA_E7, NOTA_G7, NOTA_A7, 0, NOTA_G7, NOTA_G7,
0, NOTA_E7, 0, NOTA_C7, NOTA_D7, NOTA_B6, 0, 0
};
//Duración de cada nota de la melodía
int tiempo[ ] = {
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,

12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,

9, 9, 9, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,

12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,


9, 9, 9, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12
};
//Declaración de variables
int nota;
int duracion_nota;
int pausa_entre_notas;

void setup()
{
//Configuramos el pin digital donde esté el zumbador
pinMode (ZUMBADOR, OUTPUT);
}

void loop()
{
//Bucle que reconoce la melodía
for (nota = 0; nota < 78; nota++)
{
//Calculamos la duración de la nota en ms
duracion_nota = 1000 / tiempo [nota];
//Emitimos el sonido correspondiente a la nota
tone(ZUMBADOR, melodia[nota], duracion_nota);
//Espera entre notas
pausa_entre_notas = duracion_nota *1.60;
delay(pausa_entre_notas);
}
}

No hay comentarios:

Publicar un comentario