Arduino Random Music Generator: 5 pasos (con fotos)

Arduino Random Music Generator: 5 pasos (con fotos)

Tabla de contenido:

Anonim

Este fue uno de mis primeros proyectos de Arduino y es la definición de simplicidad.

Donde vivo, no hay tiendas para comprar partes electrónicas, y Amazon y eBay tienen sus propias desventajas. Así que cada vez que hice un proyecto de Arduino, salvé todas las partes de cosas rotas.

Este es un proyecto de nivel principiante, que puede ser modificado por alguien que nunca ha comprado un Arduino.

Además, esta es mi entrada en el concurso 'Hacer ruido', ¡así que por favor vote!

Suministros:

Paso 1: Materiales

Para este proyecto, necesitarás

• (x1) Arduino Uno (este es el que yo personalmente recomiendo para principiantes, pero cualquier Arduino estaría bien)

• (x2) Cables de puente macho a macho / macho a hembra

• (x1) zumbador o altavoz piezoeléctrico (recuperé el mío)

• Chasis opcional, no utilicé uno.

• Soldadores, cortadores de alambre, etc.

También necesitarás una computadora.

Paso 2: Salvando al orador

Conseguí este altavoz por aproximadamente $ 8, y no está tan mal. Podría haber conectado una entrada de conector de audio al Arduino, y luego el altavoz usando un cable auxiliar, pero decidí que sería más simple simplemente separarlo y tomar el componente que necesito.

Después de romper el altavoz, necesitaba soldar los cables de puente, así que hice eso. No voy a entrar en muchos detalles aquí, pero todo lo que necesita es el altavoz, conectado a dos cables en el extremo positivo y negativo.

Ahora pasemos al proyecto real y hagamos ruido.

Paso 3: Arduino IDE

Comience por instalar el IDE de Arduino disponible aquí.

Antes de comenzar a codificar, debe seleccionar la opción en el menú Herramientas >> Tablero que corresponde a su tablero Arduino. Para los propósitos de este proyecto, voy a considerar la UNO.

A continuación, seleccione el dispositivo serie de la placa en el menú Herramientas >> Puerto serie. La mayoría de las veces esto es COM3 o superior. Puede desconectar la placa y volver a conectarse, y la opción que aparece sería su puerto. Seleccione el puerto.

Abre un nuevo archivo y rompe los nudillos. La parte más dura de este proyecto está llegando.

Paso 4: El Código

Una cosa que odio de muchos 'ibles' es que el código nunca se explica. Así que la persona que lee simplemente copiaría / pegaría. Para evitar eso voy a dar un esquema general del código. Además, hay explicaciones más específicas en el código adjunto.

Lo que esencialmente hago es crear valores aleatorios para la frecuencia y la duración de las notas, y reproducirlas. Así que configuro el pin 10 como salida y creo valores para todas las notas utilizadas. Luego los puse en una matriz y hago que una función aleatoria llame las distintas notas.

Aquí está el boceto (otra palabra para código en Arduino-habla: D)

configuración vacía () {

pinMode (10, SALIDA); // Este código se ejecuta una sola vez. Asigna el pin 10 como salida, y aquí es donde conectaremos el altavoz.

randomSeed (analogRead (A0)); // Esto crea una 'semilla' aleatoria. Un punto inicial para que comience la aleatorización.

// El valor de esta semilla es de la entrada analógica 0, que está vacía. Por lo tanto, genera un valor de ruido aleatorio.

}

int sp = 10; // Crea una variable para mantener el valor del speakerPin.

int c = 523;

int d = 587;

int e = 659;

int f = 698; // He asignado los valores de un octeto de notas a 8 variables

int g = 784;

int a = 880;

int b = 988;

int c2 = 1047;

void loop () {// Este es el código principal, y se ejecuta repetidamente.

notas de int = {c, d, e, g, a, c2, aleatorias (33,102), aleatorias (200,4978)}; // Crea una matriz de todas las notas usadas; Una especie de diccionario que está indexado por los números del 0 al 7

// Agregué 2 notas al azar aquí para agregar algo de sabor a la tonalidad. Las notas que elegí pertenecen a una escala pentatónica.

int i = aleatorio (0,8); // Genera un valor aleatorio entre 0 y 8, los índices máximo y mínimo de las notas.

retraso (150); // Crea un retraso de 150 ms entre cada nota, para que pueda escucharse de forma distinta.

tono (sp, notas i, 80); // Y finalmente, la función de tono genera un tono enviado a pin 'sp', de una frecuencia aleatoria desde el índice i.

// La longitud de cada nota elegida es 80.

}

Paso 5: Conclusión

Conecte el extremo positivo del altavoz al pin 10, y el extremo negativo a GND. ¡Conecte el cable USB, cargue su boceto y su creador de música aleatorio está listo!

Si lo desea, cambie la escala (es decir, las notas son las notas de la matriz) y el tiempo, y enciéndalo. También puedes investigar un algoritmo de generación de música e implementarlo. Lo hice en otra versión.

Espero que hayan disfrutado esta simple introducción al mundo de Arduino y, lo que es más importante, la codificación.

¡Aclamaciones!