Table of Contents

Nano Ardule MIDI Controller: 설계 요약 문서

목표

별도의 조절 장치를 갖고 있지 않은 GM sound module의 활용도를 높이기 위한 Arduino Nano 기반의 MIDI Controller(Nano Ardule)를 제작한다. Ardule은 Arduino + Module의 합성어이며, 프랑스어로 ‘어려운’(arduous)이라는 뜻도 갖고 있다. 2개 프로그램의 layer/split이 가능하며, 음색 설정을 user program/combi 형태로 microSD 카드에 저장하고 로드할 수 있다. 또한 카드에 저장된 type 0 MIDI 파일을 재생하는 기능도 갖고 있다. 이 프로젝트는 GM 명령어를 공부하고 아두이노 활용의 익히기 위한 목적도 있다.

시스템 구성

기본 작동법

프로그램 편집 및 저장

SPLIT 설정

MIDI 파일 재생

Global Settings

회로

아두이노 나노의 핀 연결

74HC595 시프트레지스터 IC를 쓰지 않는 조건으로 설계했기 때문에 아두이노 나노의 모든 핀이 다 쓰이고 있다.

Arduino 핀 기능 설명 또는 역할
D0 MIDI IN (RX) 키보드에서 MIDI 수신
D1 MIDI OUT (TX) GM 음원으로 MIDI 전송
D2 Rotary Encoder CLK 회전 신호 A (인터럽트 가능)
D3 Rotary Encoder DT 회전 신호 B (인터럽트 가능)
D4 Encoder SW (버튼) 로터리 인코더 버튼 입력
D5 SPLIT 버튼 스플릿 기능 진입
D6 STOP/EXIT 버튼 편집 모드/재생 종료
D7 SAVE 버튼 현재 설정 저장
D8 LOAD 버튼 저장된 프로그램 로드
D9 MIDI Activity LED MIDI IN/OUT 동작 표시용
D10 microSD CS SD 카드 선택 신호
D11 microSD MOSI SPI 데이터 출력
D12 microSD MISO SPI 데이터 입력
D13 microSD SCK SPI 클럭
A0 Part A LED Part A 활성 표시
A1 Part B LED Part B 활성 표시
A2 Drums LED Drums 모드 표시
A3 PLAY/PAUSE 버튼 MIDI 재생 제어
A4 LCD SDA I2C LCD 데이터
A5 LCD SCL I2C LCD 클럭
A6 PART SELECT 버튼 파트 선택

MIDI IN & OUT

전원

참고