본문 바로가기
아두이노

데스크 매트에서 MIDI 드럼으로

by 모빌리티키즈 2024. 11. 22.
728x90
반응형

프로젝트 소개

집에서 드럼 세트를 두는 것이 꿈이지만, 공간과 소음, 비용 문제로 어려움을 겪으셨나요? 그렇다면 이 프로젝트가 완벽한 해결책이 될 수 있습니다! USB로 구동되고 모든 히트에 반응하는 컴팩트한 데스크탑 MIDI 드럼 세트를 만들어보세요. 이 설정은 GarageBand, Ableton 등과 같은 프로그램과 원활하게 작동합니다.

 

필요한 재료

  • 피에조 센서: 타격을 감지하는 센서
  • Arduino Leonardo: MIDI 신호를 전송하는 마이크로컨트롤러
  • 3D 프린터: 드럼 패드와 기타 구성 요소를 출력하는 데 사용
  • USB 케이블: Arduino Leonardo와 컴퓨터 연결
  • 전선 및 기타 전자 부품
  • 드럼 패드 재료: 실리콘 패드 등

프로젝트 수행

  1. 피에조 센서 설치
    • 피에조 센서를 드럼 패드 아래에 설치합니다. 타격을 감지하도록 위치를 조정합니다.
  2. 3D 프린팅 드럼 패드
    • 드럼 패드와 프레임을 3D 프린터로 출력합니다. 필요한 파일은 프로젝트 리소스에서 다운로드할 수 있습니다.
  3. Arduino Leonardo 설정
    • Arduino Leonardo를 사용하여 피에조 센서의 신호를 MIDI 신호로 변환합니다. 이를 위해 피에조 센서를 Arduino에 연결합니다.
  4. 코딩
    • Arduino IDE를 사용하여 피에조 센서의 신호를 읽고, 이를 MIDI 신호로 변환하는 코드를 작성합니다. 예제 코드는 다음과 같습니다.
#include <MIDI.h>

MIDI_CREATE_DEFAULT_INSTANCE();

const int piezoPin = A0; // 피에조 센서 핀 번호
const int threshold = 10; // 감지 임계값

void setup() {
  Serial.begin(115200);
  MIDI.begin(MIDI_CHANNEL_OMNI);
}

void loop() {
  int piezoValue = analogRead(piezoPin);
  
  if (piezoValue > threshold) {
    int velocity = map(piezoValue, threshold, 1023, 1, 127);
    MIDI.sendNoteOn(42, velocity, 1); // MIDI 신호 전송
    delay(10); // Debounce
    MIDI.sendNoteOff(42, 0, 1); // MIDI 신호 끄기
  }
}

5. 연결 및 테스트

  • USB 케이블을 사용하여 Arduino Leonardo를 컴퓨터에 연결합니다.
  • GarageBand, Ableton 등과 같은 MIDI 호환 프로그램을 열고, 드럼 패드가 올바르게 작동하는지 확인합니다.

피에조 센서 사용부터 3D 프린팅으로 레이아웃을 설계하고 Arduino Leonardo로 코딩하는 것까지 DIY MIDI 드럼을 만드는 전체 여정을 안내해 드리겠습니다.

 

이 설정은 GarageBand, Ableton 등과 같은 프로그램과 원활하게 작동합니다. 저와 함께 책상에 딱 맞는 드럼 세트를 가질 수 있는 방법을 알아보세요!

공급

전자공학

  1. 아두이노 레오나르도(또는 ATmega32U4 칩이 있는 기타 아두이노 모델)
  2. 7 x 피에조 센서(더 강력한 신호 캡처를 위한 직경 35mm)
  3. 3D 프린팅 플레이트  드럼스틱(STL 파일 포함)
  4. 7 x 1MOhm 저항기
  5. 프로토 타입 납땜 보드

 

기계적인 부속

  1. 2 x 데스크 매트 (2 개 : 배치 용 1 개, 충격 흡수 용 1 개) 소프트웨어
  2. 여러 가지 빛깔의 리본 케이블
  3. 14 x 나사(2.3 × 9.5mm)
  4. KW12-3 마이크로 롤러 레버 암 스위치
  5. 사포(Bass 페달 그립용)

 

도구

  1. 3D 프린터
  2. 다용도 칼 
  3. 정확한 측정을 위한 눈금자와 
  4. Universal Glue(유연함, 구성품 부착용)
  5. 케이블과 플레이트를 매트에 부착하기 위한 핫 글루

 

소프트웨어

  1. MIDI 소프트웨어(Apple의 GarageBand, Ableton, Logic Pro 등)
  2. USB-to-MIDI 브리지(옵션) ATmega32U4 이외의 칩을 특징으로 하는 Arduino 모델로 작업하는 경우 무모
  3. 코드 업로드를 위한 아두이노 IDE

1단계: 3D 모델 인쇄

  1. 특별한 요구 사항은 없습니다. 모든 부품에 표준 15% 충전재를 사용했습니다.

 

2 단계 : 메인 매트 절단 및 성형

  1. 매트 표시: 자와 펜을 사용하여 잘라야 할 영역의 윤곽을 그립니다. 각각은 세 가지 패턴(DrumPatternBig.stl, DrumPatternMiddle.stl, DrumPatternSmall.stl) 중 하나의 지름과 일치해야 합니다.그림에 표시된 내 레이아웃을 사용하거나 자신의 준비를 할 수 있습니다.
  2. 조각 자르기: 다용도 칼이나 가위를 사용하여 표시를 따라 조심스럽게 자릅니다. 가장자리가 매끄럽게 맞는지 확인하십시오.

3 단계 : 두 번째 매트에서 밑면 조각을자릅니다.

  1. 매트를 표시하십시오. 눈금자와 펜을 사용하여 잘라야 하는 영역의 윤곽을 그립니다. 각 조각은 플레이트 중 하나의 직경과 일치해야 합니다.
  2. 조각 자르기: 다시 말하지만, 다용도 칼이나 가위를 사용하여 표시를 따라 조심스럽게 자릅니다.

4단계: 드럼 패드 만들기

  1. 잘라낸 조각을 윗면에 붙입니다. 범용 접착제를 사용하여 첫 번째 매트의 잘라낸 조각을 드럼 패드에 부착합니다. 매트를 적절하게 배치할 수 있도록 약간의 개방 시간이 있는 접착제를 선택하십시오. 예를 들어 인스턴트 접착제는 적합하지 않습니다. 내 비디오에서는 지침에 따라 범용 접착제가 부분적으로 건조된 후 양면을 함께 눌렀지만 과정이 매끄럽지 않았습니다. 다시 한다면 접착제를 바른 직후 잘라낸 조각을 배치할 것입니다.
  2. 플레이트에 피에조 센서 부착: 뜨거운 접착제를 사용하여 각 피에조 센서를 슬롯의 플레이트 바로 아래에 부착합니다.
  3. "압력 만들기" 조각을 부착 합니다.뜨거운 접착제를 사용하여 "압력 생성" 부분을 피에조 스피커에 고정합니다.
  4. 잘라낸 조각을 아래쪽에 붙입니다.뜨거운 접착제를 사용하여 두 번째 매트의 잘라낸 조각을 플레이트 밑면에 부착합니다.

5단계: 드럼 패드 배치

  1. 드럼 패드를 배치합니다. 드럼 패드를 컷아웃 섹션 내부에 배치합니다.
  2. 매트 고정: 뜨거운 접착제를 사용하여 매트를 슬롯에 단단히 고정합니다.

6단계: 드럼 패드 배선

  1. 케이블을 고정합니다. 뜨거운 접착제를 사용하여 리본 케이블을 매트에 부착합니다.
  2. 드럼 패드 납땜: 드럼 패드를 납땜하여 다중 대역 리본 케이블에 연결합니다.

7단계: 아두이노 쉴드 만들기

  1. 아두이노 쉴드 생성: 회로도에 따라 프로토타입 보드에 Arduino 실드를 만듭니다.
  2. Arduino를 배치합니다. 실드가 있는 Arduino를 인클로저에 삽입합니다.
  3. Arduino를 확보하십시오. 실드의 핀을 Arduino에 삽입하기 전에 나사를 사용하여 Arduino 보드를 고정하십시오.
  4. 쉴드를 패드에 연결합니다. 쉴드의 출력 케이블을 패드의 케이블에 납땜합니다.

8단계: 베이스 드럼 페달 조립 및 납땜

  1. 케이블을 준비합니다. 드럼 페달에서 책상 높이까지 닿을 수 있을 만큼 충분히 긴 2선 케이블을 자릅니다.
  2. 스위치 납땜: 스위치를 케이블 끝에 납땜합니다.
  3. 스위치 보안: 나사로 스위치를 페달에 부착하십시오.
  4. 그립용 사포 추가: 페달 양쪽의 슬롯에 맞게 사포를 자르고 페달을 사용하는 동안 더 나은 안정성을 위해 제자리에 붙입니다.
  5. 페달 연결: 케이블의 다른 쪽 끝을 Arduino 실드에 납땜합니다.

9단계: Arduino 인클로저를 매트에 고정

  1. Arduino를 확보하십시오. 4개의 나사를 사용하여 Arduino를 매트에 부착하고 그림과 같이 상단 부분에 맞춥니다.

10단계: 아두이노 코드 설치

  1. 코드 업로드: 
  2.  
728x90
반응형