산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

EL 테이프 뮤직 비주얼라이저

구성품 및 소모품

Arduino UNO
× 1
Arduino용 EL 실드
× 1
EL 테이프 - 녹색 1m
× 1
EL 테이프 - 빨간색 1m
× 1
EL 테이프 - 파란색 1m
× 1

이 프로젝트 정보

EL 실드 및 커넥터<그림>

SeeedStudio의 EL Shield가 있는 EL 테이프를 Arduino UNO와 함께 사용했습니다. 테이프는 4개 채널 중 3개 채널의 실드에 연결되었습니다.


완료되면 코드를 업로드하고 음악을 재생하기만 하면 됩니다!


이 코드는 Processing 뿐만 아니라 Processing Arduino 라이브러리도 사용합니다. 사용하려면 이 두 가지가 모두 작동해야 합니다.


여기에서 Arduino용 라이브러리를 다운로드하세요.

https://processing.org/

에서 처리 받기


모든 것이 설치되면 arduino 라이브러리를 처리 스케치북 폴더의 라이브러리 폴더로 이동하고 처리 편집기에서 코드를 엽니다.


줄 변경:

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

BeatWrite의 38행에서 컴퓨터의 로컬 MP3 파일로 이동하고 재생을 클릭하세요!

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 비트라이트
  • BeatListener
  • BeatWrite자바
    처리 2를 위한 BeatWrite 스케치
    /** * 이 스케치는 FREQ_ENERGY 모드에서 BeatDetect 개체를 사용하는 방법을 보여줍니다.
    * isKick, isSnare를 사용할 수 있습니다. , isHat, isRange, * 및 isOnset(int) 추적하려는 비트의 종류를 추적하려면 * true로 보고합니다. 또는 분석 상태에 따라 거짓입니다. 분석을 "확인"하려면 오디오의 연속적인 버퍼와 함께 detect *를 호출해야 합니다. draw 내에서 이 작업을 수행할 수 있지만 이렇게 하면 * 일부 오디오 버퍼를 놓칠 가능성이 있습니다. 스케치는 BeatListener *라는 AudioListener를 구현하므로 버퍼를 반복하지 않고 시스템이 처리하는 오디오의 모든 버퍼에서 detect를 호출할 수 있습니다. * 또는 하나가 누락되었습니다. *

    * 이 스케치는 전체 노래를 재생하므로 로드하는 데 약간 느릴 수 있습니다. */import processing.serial.*;import ddf.minim.*;import ddf.minim.analysis.*;import cc.arduino.*;Minim minim;AudioPlayer 노래;BeatDetect beat;BeatListener bl;Arduino arduino;int ledPin =1; // EL 채널 1에 연결된 LED int ledPin2 =2; // EL 채널 2에 연결된 LED int ledPin3 =3; // EL 채널에 연결된 LED 3float kickSize, snareSize, hatSize;void setup() { size(512, 200, P3D); 최소값 =새로운 최소값(이); arduino =새로운 Arduino(이, "/dev/ttyACM1", 57600); 노래 =minim.loadFile("/home/paul/Music/dope.mp3", 2048); 노래.재생(); // FREQ_ENERGY 모드인 비트 감지 객체는 // 노래의 버퍼 크기 길이와 // 노래의 샘플 레이트로 캡처된 샘플을 예상합니다. beat =new BeatDetect(song.bufferSize(), song.sampleRate()); // 감도를 300밀리초로 설정합니다. // 비트가 감지된 후 알고리즘은 300밀리초 동안 대기합니다. // 다른 비트가 보고되도록 허용합니다. // 너무 많은 가양성을 제공하는 경우 이를 사용하여 알고리즘을 약화시킬 수 있습니다. 기본값은 10이며, // 이는 본질적으로 감쇠가 없습니다. 민감도를 음수 값으로 설정하려고 하면 // 오류가 보고되고 대신 10으로 설정됩니다. beat.setSensitivity(100); kickSize =snareSize =모자 크기 =16; // 분석을 위한 버퍼를 놓치지 않도록 새로운 비트 리스너를 만듭니다. bl =new BeatListener(beat, song); textFont(createFont("헬베티카", 16)); textAlign(중앙); arduino.pinMode(ledPin+3, Arduino.OUTPUT); arduino.pinMode(ledPin2+3, Arduino.OUTPUT); arduino.pinMode(ledPin3+3, Arduino.OUTPUT); }무승부 그리기() { 배경(0); 채우기(255); if(beat.isKick()) { arduino.digitalWrite(ledPin+3, Arduino.HIGH); // kickSize =32에 LED를 설정합니다. } if(beat.isSnare()) { arduino.digitalWrite(ledPin2+3, Arduino.HIGH); // snareSize =32에 LED를 설정합니다. } if(beat.isHat()) { arduino.digitalWrite(ledPin3+3, Arduino.HIGH); // LED를 hatSize =32로 설정합니다. } arduino.digitalWrite(ledPin+3, Arduino.LOW); // LED 끄기 arduino.digitalWrite(ledPin2+3, Arduino.LOW); // LED 끄기 arduino.digitalWrite(ledPin3+3, Arduino.LOW); // LED 끄기 textSize(kickSize); text("킥", 너비/4, 높이/2); 텍스트 크기(스네어 크기); text("SNARE", 너비/2, 높이/2); 텍스트 크기(모자 크기); text("모자", 3*너비/4, 높이/2); 킥 사이즈 =제약(킥 사이즈 * 0.95, 16, 32); snareSize =제약(스네어 크기 * 0.95, 16, 32); 모자 크기 =제약(햇 크기 * 0.95, 16, 32); }void stop() { // 작업이 끝나면 항상 Minim 오디오 클래스를 닫습니다. song.close(); // minim을 종료하기 전에 항상 Minim을 중지합니다.stop(); // 이것은 스케치를 닫습니다. super.stop();}

    BeatListener자바
    클래스 BeatListener는 AudioListener{ private BeatDetect beat를 구현합니다. 개인 AudioPlayer 소스; BeatListener(BeatDetect 비트, AudioPlayer 소스) { this.source =소스; this.source.addListener(이); this.beat =비트; } 무효 샘플(float[] samps) { beat.detect(source.mix); } 무효 샘플(float[] sampsL, float[] sampsR) { beat.detect(source.mix); }}

    제조공정

    1. 뮤직 와이어 스프링이란 무엇입니까?
    2. 노인을 위한 UX 디자인 가이드
    3. 왜 디지털인가?
    4. 덕트 테이프
    5. 주크박스
    6. 악보
    7. 바코드 스캐너
    8. C++ 주석
    9. 데이터 매트릭스 코드와 QR 코드
    10. CNC G 코드 소개