Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

EL Tape Music Visualiser

Componentes e suprimentos

Arduino UNO
× 1
EL Shield para Arduino
× 1
Fita EL - Verde 1m
× 1
Fita EL - Vermelha 1m
× 1
Fita EL - Azul 1 m
× 1

Sobre este projeto

EL Shield e conectores
A fita EL com um EL Shield da SeeedStudio foi usada com um Arduino UNO. A fita foi conectada à blindagem em 3 dos 4 canais.




Quando terminar, basta fazer upload do código e começar a tocar sua música!




O código faz uso do Processing, bem como da biblioteca Processing Arduino. Você precisará fazer com que ambos funcionem para usá-lo.




Pegue a biblioteca do Arduino aqui.

Obtenha o processamento em https://processing.org/




Depois que tudo estiver instalado, mova a biblioteca arduino para a pasta de bibliotecas de sua pasta de bloco de desenho de processamento e abra o código no editor de processamento.




Mude a linha:

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

na linha 38 do BeatWrite para um arquivo MP3 local em seu computador e clique em play!

Código

  • BeatWrite
  • BeatListener
BeatWrite Java
Esboço BeatWrite para processamento 2
 / ** * Este esboço demonstra como usar o objeto BeatDetect no modo FREQ_ENERGY. 
* Você pode usar isKick , isSnare , isHat , isRange , * e isOnset (int) para rastrear qualquer tipo de batida que você deseja rastrear, eles reportarão * verdadeiro ou falso com base no estado da análise. Para "marcar" a análise, você deve chamar detect * com buffers de áudio sucessivos. Você pode fazer isso dentro do draw , mas provavelmente perderá alguns * buffers de áudio se fizer isso. O esboço implementa um AudioListener chamado BeatListener * para que possa chamar detect em cada buffer de áudio processado pelo sistema sem repetir um buffer * ou faltando um. *

* Este esboço reproduz uma música inteira, por isso pode demorar um pouco para carregar. * / 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 ao canal EL 1int ledPin2 =2; // LED conectado ao canal EL 2int ledPin3 =3; // LED conectado ao canal EL 3float kickSize, snareSize, hatSize; void setup () {size (512, 200, P3D); minim =novo mínimo (este); arduino =novo Arduino (isto, "/ dev / ttyACM1", 57600); song =minim.loadFile ("/ home / paul / Music / dope.mp3", 2048); song.play (); // um objeto de detecção de batida que está no modo FREQ_ENERGY que // espera buffers a duração do tamanho do buffer da música // e as amostras capturadas na taxa de amostragem das músicas beat =new BeatDetect (song.bufferSize (), song.sampleRate ()); // definir a sensibilidade para 300 milissegundos // Depois que uma batida for detectada, o algoritmo aguardará 300 milissegundos // antes de permitir que outra batida seja relatada. Você pode usar isso para amortecer o // algoritmo se ele estiver fornecendo muitos falsos positivos. O valor padrão é 10, // que é essencialmente sem amortecimento. Se você tentar definir a sensibilidade para um valor negativo, // um erro será relatado e será definido como 10 em vez disso. beat.setSensitivity (100); kickSize =snareSize =hatSize =16; // cria um novo ouvinte de batida, para que não percamos nenhum buffer para a análise bl =new BeatListener (batida, música); textFont (createFont ("Helvetica", 16)); textAlign (CENTER); arduino.pinMode (ledPin + 3, Arduino.OUTPUT); arduino.pinMode (ledPin2 + 3, Arduino.OUTPUT); arduino.pinMode (ledPin3 + 3, Arduino.OUTPUT); } void draw () {background (0); preencher (255); if (beat.isKick ()) {arduino.digitalWrite (ledPin + 3, Arduino.HIGH); // define o LED em kickSize =32; } if (beat.isSnare ()) {arduino.digitalWrite (ledPin2 + 3, Arduino.HIGH); // define o LED em snareSize =32; } if (beat.isHat ()) {arduino.digitalWrite (ledPin3 + 3, Arduino.HIGH); // define o LED em hatSize =32; } arduino.digitalWrite (ledPin + 3, Arduino.LOW); // desligue o LED arduino.digitalWrite (ledPin2 + 3, Arduino.LOW); // desligue o LED arduino.digitalWrite (ledPin3 + 3, Arduino.LOW); // desligue o LED textSize (kickSize); texto ("KICK", largura / 4, altura / 2); textSize (snareSize); texto ("SNARE", largura / 2, altura / 2); textSize (hatSize); texto ("HAT", 3 * largura / 4, altura / 2); kickSize =constrain (kickSize * 0.95, 16, 32); snareSize =constrain (snareSize * 0,95, 16, 32); hatSize =restrição (hatSize * 0,95, 16, 32); } void stop () {// sempre fecha as classes de áudio Minim quando você terminar com elas song.close (); // sempre para o Minim antes de sair de minim.stop (); // isso fecha o esboço super.stop ();}

BeatListener Java
 class BeatListener implementa AudioListener {private BeatDetect beat; fonte privada de AudioPlayer; BeatListener (BeatDetect beat, fonte AudioPlayer) {this.source =source; this.source.addListener (this); this.beat =beat; } amostras void (float [] samps) {beat.detect (source.mix); } amostras vazias (float [] sampsL, float [] sampsR) {beat.detect (source.mix); }} 

Processo de manufatura

  1. O que é Music Wire Spring?
  2. Guia de design UX para idosos
  3. Por que digital?
  4. Fita adesiva
  5. Jukebox
  6. Partituras
  7. Scanner de código de barras
  8. Comentários C++
  9. Códigos de matriz de dados versus códigos QR
  10. Introdução ao Código CNC G