본문 바로가기
아두이노

그루브 박스 - 아두이노 나노 드럼 머신 제작 이야기

by 모빌리티키즈 2025. 4. 7.
728x90
반응형

이번 빌드는 Mattybrad의 DrumKid라는 독특한 드럼 신디사이저를 재현하는 데 중점을 두고 있습니다. DrumKid는 기본적으로 독립적인 드럼 신디사이저지만, 저는 이를 새로운 트리거로 사용할 방법을 찾아보았습니다. 빌드 과정에서 4/4와 1/4로 깜박이는 LED를 활용해 트리거 역할을 부여했으며, 결과적으로 간단하지만 효과적인 드럼 머신을 만들 수 있었습니다.

 

그루브 박스란?

그루브 박스는 제너레이티브 드럼 머신으로, 사용자가 즉석에서 드럼 비트를 생성하고 제어할 수 있는 장치입니다. 다양한 효과를 활용할 수 있으며, 마음에 드는 비트를 저장하여 필요할 때 언제든지 불러올 수 있습니다. 제 버전은 Eurorack에 맞는 모듈식 설계를 채택했으며, 9V 전원으로 동작하도록 만들어 휴대성과 사용자 편의성을 높였습니다.

주요 목표

  • 누구나 만들고 사용할 수 있는 모듈식 신디사이저 제작
  • 드럼 비트를 제어하고 다른 빌드와 연동 가능하도록 설계
  • Eurorack 호환 및 9V 전원으로 휴대성 향상

필요한 부품과 재료

부품은 [GitHub 페이지](사용자가 언급한 PDF 파일과 관련된 링크)와 PDF 파일에 자세히 안내되어 있습니다.

  1. PCB: 자체 설계, PDF 참고
  2. 전면 패널: PCB 형태로 제작
  3. 아두이노 나노: 알리익스프레스 등에서 구매 가능
  4. 커패시터:
    • 폴리프로필렌 100nF × 2
    • 편광 100μF × 1
    • 편광 1000μF × 1
  5. 저항기:
    • 금속 필름 10K × 1
    • 금속 필름 270R × 1
  6. 전위차계: 9mm 수직 10K × 6
  7. 스위치: 순간 스위치 (PN SKRCADD010) × 8
  8. On/Off 토글 스위치 × 1
  9. LED 도트 매트릭스 (TZT MAX7219) × 1
  10. 암 헤더 핀 소켓 15핀 × 2
  11. 오디오 소켓 3.5mm (PN - PJ-301M) × 3
  12. 미니 JST 커넥터 및 와이어 2핀 × 11

공급

제작 과정

  1. PCB 설계: PDF 파일의 정보를 참고하여 제작
  2. 부품 조립: 각 부품을 PCB와 전면 패널에 맞게 조립
  3. 코딩: 아두이노 나노에 필요한 코드를 업로드 (초보자도 쉽게 따라 할 수 있는 코드 제공 예정)
  4. 테스트 및 조율: LED 및 트리거 신호 테스트
  5. 사용 가능 상태로 완성: 드럼 비트 저장 및 재생 확인

1단계: 보드 인쇄

우리 모두는 지식 수준이 다르기 때문에 이와 같은 빌드에 관해서는 항상 명확한 단계별 가이드를 제공하기 위해 최선을 다합니다. 그러나 이러한 유형의 일에 오래된 손이라면 많은 단계를 건너뛸 수 있습니다.

따라서 가장 먼저 해야 할 일은 전면 패널과 PCB를 인쇄하는 것입니다. 이 작업을 수행하기 위해 JLCPCB (not affliated)를 사용합니다. 전면 패널은 실제로 구성 요소가 포함되지 않은 PCB일 뿐입니다! 전면 디자인은 Inkscape(무료로 사용 가능)라는 프로그램에서 수행되며 구멍을 포함한 패널은 Fusion 360(역시 무료)에서 수행됩니다.

자신만의 Groove Box를 만드는 데 필요한 파일은 내 GitHub 페이지에서 찾을 수 있습니다. 여기에는 부품 목록, PCB 및 전면 패널용 Gerber 파일, 회로도, Arduino 스크립트 등이 포함됩니다.

단계:

  1. Gerber 파일을 JLCPCB와 같은 PCB 제조업체에 보내야 합니다. 다운로드한 Github 폴더로 이동하여 Gerber 파일을 찾은 다음 선택한 PCB 제조업체에 보냅니다. 보낼 때도 지퍼로 잠그십시오.
  2. 이 작업을 잘 수행하는 방법을 모른다면 여기에서 찾을 수 있는 브로드를 인쇄하는 방법에 대한 Instructable을 모았습니다.
  3. 참고: 제조업체는 PCB와 전면 패널 모두에 주문 번호를 포함합니다. PCB의 위치는 중요하지 않지만 전면 패널의 전면에는 원하지 않습니다!
  4. JLCPCB에서는 Gerber 파일이로드되면 '위치를 지정'할 수 있으므로 전면 패널에 대해 이것을 클릭하면 제조업체가 내가 표시한 뒷면에 추가합니다. 주문 번호를 제거할 것인지 묻는 메시지가 표시되면 '아니오'를 누를 수도 있습니다. 그러나 비용은 $2입니다.

2단계: 구성 요소 추가 1부

PCB는 양면이므로 구성 요소를 추가하는 순서가 중요합니다. 당신이 잘못 이해하면 세상의 끝은 아니지만 일부 구성 요소를 추가하는 것이 조금 더 어려워 질 수 있습니다

단계:

  1. 항상 그렇듯이 가장 낮은 프로파일 구성 요소부터 시작하며, 이 경우 저항기와 다이오드입니다. 나중에 문제를 해결해야 하는 경우를 대비하여 납땜하기 전에 저항기 값을 확인하는 것이 항상 좋습니다.
  2. 보드에 전원을 공급하기 위해 미니 JST 커넥터를 포함했습니다. 커넥터를 다음 위치에 납땜합니다.
  3. 이제 커패시터를 추가하고 폴리에스터 캡으로 시작한 다음 전해 캡을 추가할 수 있습니다
  4. 이제 Arduino를 추가할 차례입니다. Arduino를 제거할 수 있도록 항상 헤더 핀을 포함했습니다. Arduino를 교체해야 하는 경우에 도움이 되며 보드에 없을 때 프로그래밍할 수도 있습니다
  5. 헤더 핀을 Arduino에 추가한 다음 보드에 넣고 제자리에 납땜합니다.

이것이 첫 번째 면이 완료되고 다음으로 반대쪽에 컨트롤을 추가할 때입니다

3단계: 구성 요소 추가 2부

여기서 가장 까다로운 부분은 LED를 추가하는 것입니다. 상단이 전면 패널의 구멍을 내밀도록 보드에서 들어 올려야 합니다.

단계:

  1. LED는 PCB에서 약 10mm 떨어져 있어야 합니다. 나는 고철로 작은 지그/스페이서를 만들어 모두 고르고 보드에서 떨어지도록 했습니다.
  2. LED의 올바른 높이를 찾으려면 보드에 몇 개의 전위차계를 추가하십시오 (아직 제자리에 납땜하지 마십시오) LED를 보드에 넣고 다리 사이에 조그를 배치하여 LED가 그 위에 놓이도록합니다. 전면 패널을 제자리에 놓고 전위차계에 놓습니다. LED 상단이 전면 패널을 통해 보이면 지그의 높이가 올바른 것입니다. 필요한 경우 조정합니다.
  3. 전위차계를 꺼내고 보드를 뒤집은 다음 지그를 제자리에 놓고 LED 다리 중 하나를 납땜합니다. 뒤집어서 LED가 똑바로 놓여 있는지 확인한 다음 다른 다리를 납땜합니다. 5 개의 LED 모두에 대해이 작업을 수행하십시오.
  4. 이제 순간 스위치로 이동할 수 있습니다. 다리를 제자리에 납땜하고 완료되면 솔더 패드를 다시 가열하고 스위치를 아래로 눌러 보드에 평평하게 놓여 있는지 확인할 수 있습니다
  5. 켜기/끄기 스위치를 제자리에 납땜합니다.
  6. 이제 4개의 오디오 잭으로 이동할 수 있습니다.
  7. 마지막으로 4개의 냄비를 모두 제자리에 납땜합니다.

4단계: Arduino에 스케치 업로드

Arduino를 처음 사용하고 Arduino에 스케치를 업로드하는 방법을 배우고 싶다면 이 링크를 확인하세요. 정말 간단하며 특별한 도구가 필요하지 않으며 컴퓨터와 USB 코드만 있으면 됩니다.

단계:

  1. 소프트웨어 폴더에서 스케치를 열면 Arduino IDE로 이동합니다.
  2. Arduino를 연결하고 스케치를 업로드하십시오.
  3. 아직 다운로드하지 않은 경우 추가해야 할 수 있는 라이브러리가 많이 있습니다. 이것은 더 간단 할 수 없습니다 - 다음 지침을 따르십시오 - https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries/
  4. 스케치가 Arduino에 로드되면 테스트를 준비하기 위해 PCB에 연결할 수 있습니다.
  5. 이제 PCB를 9V-12V 전원에 연결하고 홈 박스가 작동하는지 확인할 수 있습니다. 스피커를 출력 잭에 연결하고 시작 버튼을 누릅니다. Groove Box는 이미 여러 비트로 프로그래밍되어 있으며 첫 번째 비트가 연주되는 것을 들을 수 있어야 합니다. 냄비를 뒤집어 보고 시작 비트에 어떤 변화를 줄 수 있는지 확인하십시오.
  6. 아무 소리도 들리지 않으면 몇 가지 문제 해결을 수행해야 할 수 있습니다.

5단계: 전면 패널 추가


단계:

  1. 전면 패널은 PCB에 완벽하게 맞도록 설계되었습니다. 전면 패널을 구성 요소와 정렬되도록 조심스럽게 배치하고 제자리에 밀어 넣습니다. 저는 보통 켜기/끄기 스위치로 시작한 다음 냄비와 LED를 전면 패널의 구멍에 맞춥니다.
  2. 냄비에 있는 작은 탭이 있는 경우 잘라야 할 수도 있습니다.
  3. 이제 포트, 오디오 잭 및 켜기/끄기 스위치에 너트를 추가하여 전면 패널을 PCB에 고정할 수 있습니다.
  4. 이것은 실제로 Groove Box의 2번째 반복이며, 첫 번째 버전은 전면 패널을 잘 고정하는 하단에 오디오 잭이 있었습니다. 그러나 2번째 버전에서는 순간 스위치가 있는 곳의 전면 패널이 잘 고정되지 않는다는 것을 발견했기 때문에 더 잘 고정할 수 있도록 몇 개의 M2 나사와 너트를 포함하도록 파일을 수정했습니다.
  5. 이제 전면 패널이 제자리에 놓였으므로 개별 케이스를 만들어 보관하거나 Eurorack에 추가할 수 있습니다. 이미지에서 볼 수 있듯이 내 작은 Eurorack 신디사이저에 포함 된 것을 볼 수 있습니다.

6단계: 그루브 박스 플레이 방법

Groove Box를 연주하는 것은 정말 간단합니다(아래 지침에 따라 연기하지 마십시오!) 아래에서 Groove Box를 플레이하는 방법에 대한 전체 설명서를 찾을 수 있습니다(이 내용을 함께 만들어 준 Matt Bradshaw에게 다시 한 번 감사드립니다) 내 GitHub 페이지에서도 지침을 찾을 수 있습니다.

입력

Groove Box에는 4개의 오디오 입력이 포함되어 있습니다. 이 중 2개는 4/4 박자표, 1개는 1/4 박자표, 다른 하나는 오디오 출력입니다.

기본 기능

  1. 시작/정지 버튼을 눌러 리듬을 시작하거나 중지합니다.
  2. A/B/C/D 버튼을 눌러 다른 노브 기능을 선택합니다(아래 표 참조).
  3. 네 개의 노브 중 하나를 돌려 현재 선택한 그룹의 매개변수를 변경합니다(아래 표 참조).
  4. 탭 템포 버튼을 반복해서 눌러 템포를 설정합니다
  5. A+B 버튼을 함께 눌러 세션을 로드한 다음 버튼 중 하나를 눌러 로드할 세션을 선택합니다(또는 취소하려면 여러 버튼을 함께 누름).
  6. C+D 버튼을 함께 눌러 세션을 저장한 다음 버튼 중 하나를 눌러 세션을 저장할 슬롯을 선택합니다(또는 취소하려면 여러 버튼을 함께 누름).
  7. B+C 버튼을 함께 눌러 현재 활성 메모리 뱅크를 변경한 다음 버튼 중 하나를 눌러 특정 메모리 뱅크를 선택합니다.

다른 기능들

몇 가지 추가 숨겨진 기능 :

  1. A+B+C 버튼을 함께 눌러 비트를 기본값으로 재설정합니다. 이것은 저장된 비트에 영향을 미치지 않습니다
  2. A+B+D 버튼을 함께 눌러 임의의 비트를 생성합니다. 이것은 또한 저장된 비트에 영향을 미치지 않습니다

매개 변수

DrumKid에서 조정할 수 있는 16개의 서로 다른 매개변수가 있으며 4개의 그룹으로 나뉘며 각 그룹의 4개 매개변수는 4개의 노브로 제어됩니다. 매개변수는 다음과 같이 그룹화됩니다.

그룹 A (임의성)

  1. 기회
  2. 급상승
  3. 레인지
  4. 중간점

그룹 B (효과)

  1. 음조
  2. 압도하다
  3. 멀떠구니
  4. 방울

C조(드론)

  1. 숫벌
  2. 조절하다
  3. 조율
  4. 메모

D조 (리듬)

  1. 치다
  2. 비트/마디(박자표)
  3. 그네
  4. 템포

 

리듬을 시작(시작/정지 버튼 사용)한 다음 그룹을 선택하고 다른 노브를 돌려 각 매개변수를 시도할 수 있습니다. 예를 들어ample, 그룹 B를 선택한 다음(B 버튼을 눌러) 첫 번째 노브를 돌리면 이제 "피치"를 제어할 수 있습니다. 소리가 바뀌는 소리가 들려야 합니다. 다음은 각 매개변수가 정확히 수행하는 작업과 사용 방법에 대한 설명입니다.

기회- 추가 드럼 히트가 생성될 확률입니다. 0에서는 비트가 완전히 변경되지 않는 반면, 값이 높을수록 추가 이벤트가 많이 발생하여 일반적으로 더 바쁘고 지저분한 비트가 생성됩니다. 이것은 줌, 중간점 및 범위와 함께 사용하여 단순한 비트에서 유기적으로 전환되는 드럼 필을 만들 수 있습니다.

급상승- 무작위로 생성된 추가 히트의 영향을 받아야 하는 비트의 하위 분할을 선택합니다. 줌이 0이면 비트는 "전체 음표"(즉, 마디의 첫 번째 비트)에 대해서만 생성됩니다. 값이 높을수록 절반 음표, 4분음표, 8분음표 등에 영향을 미칩니다. 중간 값은 확대/축소를 시작하기에 좋은 위치이지만 이 값을 높이면 비트 또는 채우기 사운드가 더 "긴급"하게 만들 수 있습니다. 일부 더 작은 하위 분류는 현재 "스윙" 설정에 따라 달라집니다.

레인지- 이것은 무작위 히트에 할당되는 속도의 범위이며 "중간점"(아래 참조)과 함께 작동합니다. 모든 임의 적중이 서로 동일한 속도를 갖도록 하려면 이 값을 0으로 유지합니다. 다양한 속도를 얻으려면 이 속도를 높이십시오.

중간점- 이것은 무작위로 생성된 적중의 평균 속도이며 "범위"와 함께 작동합니다. 이 컨트롤은 음수 값(중간 아래)을 허용합니다. 중간점을 최대로 설정하고 범위를 0으로 설정하면 임의로 생성되는 모든 히트는 최대 속도가 됩니다. 반대로 0으로 설정하면 일부 히트가 음소거됩니다. 중간 어딘가(0이 아닌 범위)로 설정하면 임의의 히트가 추가되고 다른 볼륨의 볼륨이 줄어듭니다. 중간점을 3/4로 설정하여 비트에 분주한 저류를 추가하거나 잠시 높이면 드럼 필을 만들 수 있습니다.

음조- 샘플의 재생 속도를 변경합니다. 아래 손잡이를 반쯤 돌리면 샘플을 거꾸로 재생합니다.

압도하다- 오디오 출력을 계산하는 데 사용되는 비트 수를 줄여 디지털 왜곡 효과를 만듭니다. 값이 높을수록 깨끗하고, 값이 낮을수록 더 왜곡됩니다(비트 수가 적음).

멀떠구니- 샘플의 끝을 잘라 스타카토 효과를 만듭니다. 값이 작을수록 더 잘립니다.

방울- 이 컨트롤은 드럼 채널의 일부 또는 전부를 음소거하여 예를 들어 하이햇과 스네어를 제외한 모든 것을 빠르게 "드롭"하거나 킥 드럼만 유지할 수 있습니다. 대체로 이 컨트롤에는 한쪽 끝에 "treble-y" 채널이 있고 다른 쪽 끝에 "bass-y" 채널이 있습니다. 들을 수 있는 모든 채널에 해당하는 설정은 중간 어딘가에 있습니다.

드론 - 드럼 소리와 혼합할 수 있는 드론을 생성합니다. "drone" 매개변수는 믹스에 추가되는 원시 드론 신호의 양을 제어합니다. 왼쪽으로 돌리면 단일 톤이 추가되고 오른쪽으로 돌리면 다섯 번째 간격으로 두 개의 톤이 추가됩니다. 중간 값은 드론을 음소거합니다.

변조- 드론은 또한 드럼의 오디오 신호를 변조하여 로봇 효과를 만드는 데 사용할 수 있습니다. "변조"를 중간으로 설정하면 효과가 들리지 않습니다. 노브를 왼쪽으로 돌리면 단일 드론으로 드럼을 변조하고, 오른쪽으로 돌리면 5번째 간격으로 두 개의 음색으로 드럼을 변조합니다. 노브를 왼쪽이나 오른쪽으로 끝까지 돌리면 극단적인 효과가 발생하지만 중간에 가까운 값은 더 미묘합니다.

조율- 드론의 전체 튜닝(단일 및 5번째 톤 모두)을 제어합니다.

메모- 드론의 근음을 옥타브 범위에 걸쳐 반음 단계로 변경합니다.

치다- 일련의 기본 드럼 패턴 중에서 선택합니다(아래의 "프리셋 비트 목록" 참조).

비트/바 - 비트의 박자표, 즉 패턴의 스텝 수를 변경합니다. 한 마디에 1박자에서 13박자 사이를 가질 수 있으며, 노브를 오른쪽 끝까지 돌리면 각 마디의 시작 부분에서 박자표가 무작위로 지정됩니다.

그네- 특정 타구의 타이밍을 변경하여 비트에 스윙 느낌을 만듭니다. 세 가지 설정이 있습니다 : 스트레이트, 부분 스윙 및 풀 (트리플렛) 스윙.

템포- 비트의 템포(BPM)를 변경합니다. 탭 템포 기능을 사용하여 이전에 설정한 템포를 재정의합니다. 10BPM에서 ~1000BPM의 범위를 가지며 "합리적인" 템포는 범위의 중간에 그룹화됩니다.

 

사전 설정된 비트 목록

사전 설정된 비트는 D 버튼을 누르고 포트 1을 돌리면 액세스할 수 있습니다.

치다- 일련의 기본 드럼 패턴 중에서 선택합니다.

올바른 비트를 찾는 데 도움이 되도록 각 비트의 LED 패턴이 그림으로 표시되어 있습니다.

1. 모자⚫는 ⚪⚪⚪⚪에 놔둘 수 있습니다.

2. 조니 투 햇 ⚪⚫⚪⚪

3. 드럼 레슨 ⚪⚪⚫⚪

4. 하프타임 락 ⚪⚪⚪⚫⚪

5. 저기 ⚪⚪⚪⚪ ⚫

6. 금속 ⚫ ⚪⚪⚪

7. 바닥에 4 개 ⚪⚫⚪⚪

8. "댄스" ⚪⚪⚫⚪

9. 블루 먼데이 ⚪⚪⚫⚪

10. 차임 ⚪⚪⚪⚪ ⚫

11. 펑크 소울 브라더 ⚫ ⚪⚪⚪

12. 아멘 I ⚪⚫⚪⚪

13. 아멘 I ⚪⚪⚫⚪

14. 미신 ⚪⚪⚪ ⚫

15. 데리바르 엘 무로 ⚪⚪⚪ ⚫

16. 엉덩이는 거짓말 ⚫ 안돼 ⚪⚪⚪

17. 비디오 테이프 ⚪⚫⚪⚪

18. 비디오 테이프 (Bonnaroo) ⚪⚪⚫⚪

19. 군사 ⚪⚪⚪ ⚫

20. 발라드 ⚪⚪⚪ ⚫

21. 왈츠 ⚫ ⚪⚪⚪

22. 테이크 파이브 ⚪⚫⚪⚪

23. 불사각형 ⚪⚪⚫⚪

24. 니힐 ⚪⚪⚪ ⚫

첨부 파일

Groove_Box_Drum_Machine_Arduino_Nano-main.zip
3.54MB

향후 계획

  • 더 많은 모듈과 음향 효과 추가
  • 설계 개선 및 테스트를 통한 최적화
  • Eurorack과 완벽한 통합

피드백 및 개선 아이디어가 있다면 언제든지 댓글로 알려주세요! 함께 더 나은 드럼 머신을 만들어갑시다. 🎶

 

728x90
반응형