Fluid Ardule v1은 Arduino UNO 하나만 사용하여 Raspberry Pi 기반 MIDI 시스템을 제어하는 최소 조작반을 만드는 것을 목표로 한다.
설계 원칙:
주요 기능:
이 장치는 기본적으로 작은 MIDI performance controller 역할을 한다.
Arduino UNO ├ LCD Keypad Shield (1602 LCD + 5 buttons) ├ Rotary Encoder (push 포함) ├ Potentiometer 1개 ├ Status LED 3개 └ USB → Raspberry Pi
USB Keyboard → Raspberry Pi Arduino UNO → USB Serial → Raspberry Pi (control) Raspberry Pi → USB MIDI interface → DIN MIDI → Sound Module
예:
일반적인 DFRobot LCD Keypad Shield 기준
사용 핀
D4 D5 D6 D7 D8 D9 D10 A0 (버튼)
버튼 구성
SELECT RIGHT UP DOWN LEFT
버튼은 저항 사다리 방식으로 A0 하나로 읽는다.
LCD Shield 장착 후 남는 핀
D2 D3 D11 D12 D13
A1 A2 A3 A4 A5
D2 → Encoder A D3 → Encoder B A1 → Encoder Push Switch
D2/D3는 interrupt 가능 → 엔코더 처리에 적합
D11 → MIDI Activity D12 → PLAY 상태 D13 → MODE 상태
D13은 UNO 내장 LED와 연결되어 디버깅에 유리하다.
A2 → Pot 입력
가능한 기능
Encoder A → D2 Encoder B → D3 Encoder Switch → A1 GND → GND
각 LED
Arduino pin → 330Ω → LED → GND
좌측 → GND 우측 → 5V 중앙 → A2
A0에서 읽히는 값
| Button | Analog 값 |
|---|---|
| SELECT | ~0 |
| RIGHT | ~100 |
| UP | ~250 |
| DOWN | ~400 |
| LEFT | ~600 |
| NONE | ~1023 |
코드에서는 범위 비교 방식으로 처리한다.
입력 장치 역할
Buttons → 메뉴 이동 Encoder → 값 변경 Encoder Push → 선택/확정 Pot → 실시간 컨트롤
출력 장치
LCD → 상태 표시 LED → 빠른 상태 표시
예:
CH01 Piano VOL100 PAN64
동작
Encoder rotate → Volume 변경 Encoder push → 파라미터 선택
MAIN MENU │ ├ PROGRAM ├ CHANNEL ├ CONTROL ├ PLAYER └ SYSTEM
PROGRAM 001 GrandPiano
동작
Encoder rotate → Program change Encoder push → confirm LEFT → back
CHANNEL 01
Encoder rotate → 1~16
예
CONTROL MODULATION
Pot 동작
Pot → CC 값 변경
가능한 항목
MODULATION EXPRESSION FILTER REVERB CHORUS
PLAYER STOP
Encoder
rotate → PLAY / STOP / NEXT push → 실행
SYSTEM PANIC
가능한 항목
PANIC GM RESET GS RESET DEVICE INFO
| LED | 기능 |
|---|---|
| LED1 | MIDI activity |
| LED2 | PLAY 상태 |
| LED3 | MODE 상태 |
예
MODE LED ON → 메뉴 모드
Fluid Ardule v1은 완성형 워크스테이션이 아니라
실험 가능한 조작반 프로토타입이다.
검증 목표
검증 후 확장