미디무드
자세한 튜토리얼을 보려면 다음을 방문하세요.
- Arduino로 음악 만들기: https://go.musiconerd.com/making-music-with-arduino
- Curso Fazendo Música(Arduino 및 Português): https://go.musiconerd.com/curso-completo
- 빌드 과정 영상: https://youtu.be/aLhOO-UiMg4
이 저장소에는 ATmega32U4 마이크로컨트롤러(또는 이와 유사한 것)를 사용하여 구축된 MidiMood라는 사용자 정의 MIDI 컨트롤러 프로젝트에 대한 코드가 포함되어 있습니다. 이 프로젝트는 USB, BLE 또는 표준 MIDI 프로토콜을 통해 MIDI 메시지를 보내기 위해 전위차계, 버튼 및 기타 컨트롤을 처리하도록 설계되었습니다.
목차
- 개요
- 특징
- 파일 설명
- 설정 지침
- 종속성
- 용법
- 특허
개요
MidiMood는 다양한 입력 방법(버튼, 전위차계, 인코더) 및 출력 방법(USB MIDI, BLE MIDI)을 지원하는 포괄적인 MIDI 컨트롤러 구현입니다. 컨트롤러는 고도로 맞춤화 가능하도록 설계되어 ATmega32U4, ATmega328 및 Teensy를 포함한 여러 마이크로 컨트롤러 플랫폼을 지원합니다.
특징
- USB MIDI 지원 : USB를 통해 MIDI 메시지를 보내고 받습니다.
- BLE MIDI 지원 : 무선 MIDI 통신에 BLE(Bluetooth Low Energy)를 사용합니다.
- 전위차계 및 버튼 처리 : 전위차계 및 버튼에서 입력을 캡처하여 MIDI 메시지로 변환합니다.
- 멀티플렉서 지원 : 멀티플렉서를 사용하여 입력 수를 확장합니다.
- 디버깅 지원 : 직렬 통신을 통해 디버깅 메시지를 활성화할 수 있습니다.
- 다중 플랫폼 : ATmega32U4, ATmega328 및 Teensy 마이크로컨트롤러를 지원합니다.
파일 설명
- _MidiMood.ino : MIDI 컨트롤러를 초기화하고 메인 루프를 실행하는 메인 Arduino 스케치입니다.
- A_POTENTIOMETERS.ino : 전위차계 값을 읽고 이를 MIDI 컨트롤 변경 메시지로 변환하는 로직이 포함되어 있습니다.
- B_BUTTONS.ino : 버튼 입력을 처리하여 MIDI Note On/Off 또는 컨트롤 변경 메시지로 변환합니다.
- FUNCTIONS.ino : MIDI 메시지 처리 및 기타 유틸리티 기능을 포함하여 프로젝트 전반에 걸쳐 사용되는 도우미 기능입니다.
- LOOP.ino : 프로그램이 입력을 확인하고 MIDI 메시지를 보내는 메인 루프입니다.
- MACKIE.h : DAW 제어에 사용되는 MCU(Mackie Control Universal) 프로토콜에 대한 상수를 정의합니다.
- Z_ATMEGA32U4.ino : ATmega32U4 기반 보드용 마이크로컨트롤러별 설정 코드입니다.
- Z_SETUP.ino : 일반 설정 코드, 핀 초기화, 입력/출력 모드 구성.
재료
- 아두이노 프로 마이크로: https://amzn.to/2Vcz3Nz
- 전선: https://amzn.to/2xugvPF
- 나동선(선택 사항) 18-24-게이지: https://amzn.to/2FVuDpe
- 26 회전식 전위차계 b10k: https://amzn.to/3ckRKUY
- 26개의 손잡이
- 스페이서 M3 35mm: https://amzn.to/2z15BkN
- M3 나사: https://amzn.to/2RHtfJw
- 멀티플렉서 CD4067: https://amzn.to/303jJVe
- 11 토글 스위치: https://amzn.to/3hDmORR
- LED 1개
- 1개의 LED 지원
- 저항기 1개 1kΩ
설정 지침
1. 리포지토리 복제
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. 아두이노 IDE 설치
컴퓨터에 Arduino IDE가 설치되어 있는지 확인하십시오. 공식 홈페이지에서 다운로드하실 수 있습니다.
3. 프로젝트 열기
Arduino IDE에서 _MidiMood.ino
파일을 엽니다. 이 파일은 프로젝트의 진입점 역할을 합니다.
4. 보드를 선택하세요
Arduino IDE에서 마이크로컨트롤러에 따라 적절한 보드를 선택합니다.
- ATmega32U4 보드(예: Arduino Leonardo)의 경우 Arduino Leonardo를 선택합니다.
- ATmega328 보드(예: Arduino Uno)의 경우 Arduino Uno를 선택합니다.
- Teensy 보드의 경우 올바른 Teensy 모델을 선택하세요.
5. 코드 업로드
USB를 통해 마이크로컨트롤러를 컴퓨터에 연결하고 Arduino IDE의 업로드 버튼을 사용하여 코드를 업로드하세요.
종속성
- ResponsiveAnalogRead : 전위차계의 아날로그 판독값을 부드럽게 하기 위한 라이브러리입니다.
- MIDI 라이브러리 : USB 및 직렬을 통한 MIDI 통신을 처리합니다.
- BLE MIDI : Bluetooth MIDI 통신용(BLE를 사용하는 경우).
Arduino 라이브러리 관리자를 사용하여 이러한 라이브러리를 설치할 수 있습니다.
용법
코드가 업로드되면 MIDI 컨트롤러가 컴퓨터나 모바일 장치에서 MIDI 장치로 인식됩니다. 이를 사용하여 DAW 또는 기타 MIDI 호환 소프트웨어에 MIDI 메시지를 보낼 수 있습니다.
디버깅
디버깅 메시지를 보려면 코드에서 DEBUG
플래그를 활성화하세요. 이를 통해 Arduino IDE의 직렬 모니터를 통해 MIDI 메시지 및 기타 세부 정보를 모니터링할 수 있습니다.