Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Visualizador de cinta musical EL

Componentes y suministros

Arduino UNO
× 1
EL Shield para Arduino
× 1
Cinta EL - Verde 1m
× 1
Cinta EL - Roja 1m
× 1
Cinta EL - Azul 1m
× 1

Acerca de este proyecto

EL Shield y conectores

EL Tape con un EL Shield de SeeedStudio se usó con un Arduino UNO. La cinta se conectó al blindaje en 3 de los 4 canales.


Una vez que esté completo, simplemente cargue el código y comience a reproducir su música.


El código utiliza Processing y la biblioteca Processing Arduino. Deberá hacer que ambos funcionen para poder usarlo.


Coge la biblioteca para Arduino aquí.

Obtenga procesamiento en https://processing.org/


Una vez que todo lo que esté instalado, mueva la biblioteca arduino a la carpeta de bibliotecas de la carpeta de su cuaderno de bocetos de procesamiento y abra el código en el editor de procesamiento.


Cambiar la línea:

song =minim.loadFile ("/ home / paul / Music / dope.mp3", 2048);

en la línea 38 de BeatWrite a un archivo MP3 local en su computadora y haga clic en reproducir!

Código

  • BeatWrite
  • BeatListener
BeatWrite Java
Bosquejo BeatWrite para Processing 2
 / ** * Este bosquejo demuestra cómo usar el objeto BeatDetect en modo FREQ_ENERGY. 
* Puede usar isKick , isSnare , isHat , isRange , * y isOnset (int) para rastrear cualquier tipo de latidos que esté buscando rastrear, informarán * verdadero o falso según el estado del análisis. Para "marcar" el análisis debe llamar a detect * con sucesivos búferes de audio. Puede hacer esto dentro de draw , pero es probable que pierda algunos * búferes de audio si hace esto. El boceto implementa un AudioListener llamado BeatListener * para que pueda llamar a detect en cada búfer de audio procesado por el sistema sin repetir un búfer * o perdiendo uno. *

* Este boceto reproduce una canción completa, por lo que puede tardar un poco en cargarse. * / import processing.serial. *; import ddf.minim. *; import ddf.minim.analysis. *; import cc.arduino. *; Minim minim; AudioPlayer song; BeatDetect beat; BeatListener bl; Arduino arduino; int ledPin =1; // LED conectado al canal EL 1int ledPin2 =2; // LED conectado al canal EL 2int ledPin3 =3; // LED conectado al canal EL 3float kickSize, snareSize, hatSize; void setup () {size (512, 200, P3D); minim =new Minim (esto); arduino =nuevo Arduino (esto, "/ dev / ttyACM1", 57600); song =minim.loadFile ("/ home / paul / Music / dope.mp3", 2048); song.play (); // un objeto de detección de ritmo que es el modo FREQ_ENERGY que // espera búferes de la longitud del tamaño del búfer de la canción // y muestras capturadas a la frecuencia de muestreo de las canciones beat =new BeatDetect (song.bufferSize (), song.sampleRate ()); // establece la sensibilidad en 300 milisegundos // Después de que se ha detectado un latido, el algoritmo esperará 300 milisegundos // antes de permitir que se informe de otro latido. Puede usar esto para amortiguar el // algoritmo si está dando demasiados falsos positivos. El valor predeterminado es 10, // que esencialmente no es amortiguación. Si intenta establecer la sensibilidad en un valor negativo, // se informará un error y se establecerá en 10 en su lugar. beat.setSensitivity (100); kickSize =snareSize =hatSize =16; // crea un nuevo oyente de ritmo, de modo que no perdamos ningún búfer para el análisis bl =new BeatListener (ritmo, canción); textFont (createFont ("Helvetica", 16)); textAlign (CENTRO); arduino.pinMode (ledPin + 3, Arduino.OUTPUT); arduino.pinMode (ledPin2 + 3, Arduino.OUTPUT); arduino.pinMode (ledPin3 + 3, Arduino.OUTPUT); } vacío dibujar () {fondo (0); llenar (255); if (beat.isKick ()) {arduino.digitalWrite (ledPin + 3, Arduino.HIGH); // establece el LED en kickSize =32; } if (beat.isSnare ()) {arduino.digitalWrite (ledPin2 + 3, Arduino.HIGH); // establece el LED en snareSize =32; } if (beat.isHat ()) {arduino.digitalWrite (ledPin3 + 3, Arduino.HIGH); // establece el LED en hatSize =32; } arduino.digitalWrite (ledPin + 3, Arduino.LOW); // apaga el LED arduino.digitalWrite (ledPin2 + 3, Arduino.LOW); // apaga el LED arduino.digitalWrite (ledPin3 + 3, Arduino.LOW); // apaga el LED textSize (kickSize); texto ("PATADA", ancho / 4, alto / 2); textSize (snareSize); texto ("SNARE", ancho / 2, alto / 2); textSize (hatSize); texto ("SOMBRERO", 3 * ancho / 4, alto / 2); kickSize =restringir (kickSize * 0.95, 16, 32); snareSize =restringir (snareSize * 0.95, 16, 32); hatSize =restringir (hatSize * 0.95, 16, 32); } void stop () {// siempre cierre las clases de audio Minim cuando haya terminado con ellas song.close (); // siempre detiene Minim antes de salir de minim.stop (); // esto cierra el sketch super.stop ();}

BeatListener Java
 clase BeatListener implementa AudioListener {ritmo privado BeatDetect; fuente de AudioPlayer privada; BeatListener (ritmo BeatDetect, fuente AudioPlayer) {this.source =fuente; this.source.addListener (esto); this.beat =latido; } muestras vacías (float [] samps) {beat.detect (source.mix); } muestras vacías (float [] sampsL, float [] sampsR) {beat.detect (source.mix); }} 

Proceso de manufactura

  1. ¿Qué es un resorte de alambre de música?
  2. Guía de diseño de UX para personas mayores
  3. ¿Por qué digital?
  4. Cinta adhesiva
  5. Jukebox
  6. Partitura
  7. Escáner de código de barras
  8. Cinta de celofán
  9. Comentarios de C++
  10. Códigos de matriz de datos frente a códigos QR
  11. Introducción al código CNC G