fluidcanvas_r2pi:fluid-ardule-v1-uno-single-board-design-guide
Table of Contents
Fluid Ardule v1 설계 개념 및 작업 지시서 (UNO 단일보드 버전)
1. 프로젝트 목표
Fluid Ardule v1은 Arduino UNO 하나만 사용하여 Raspberry Pi 기반 MIDI 시스템을 제어하는 최소 조작반을 만드는 것을 목표로 한다.
설계 원칙:
- MCU는 Arduino UNO 단일 보드
- MIDI DIN I/O는 외부 USB MIDI 인터페이스에 맡김
- Arduino는 UI 조작반 역할에 집중
- LCD Keypad Shield 기반 빠른 프로토타입
- 향후 Pro Micro 또는 커스텀 PCB로 확장 가능
주요 기능:
- MIDI Program Change
- MIDI Channel 선택
- 실시간 CC 제어
- Raspberry Pi MIDI player 제어
- Panic / Reset
이 장치는 기본적으로 작은 MIDI performance controller 역할을 한다.
2. 전체 시스템 구조
하드웨어 구성
Arduino UNO ├ LCD Keypad Shield (1602 LCD + 5 buttons) ├ Rotary Encoder (push 포함) ├ Potentiometer 1개 ├ Status LED 3개 └ USB → Raspberry Pi
MIDI 경로
USB Keyboard → Raspberry Pi Arduino UNO → USB Serial → Raspberry Pi (control) Raspberry Pi → USB MIDI interface → DIN MIDI → Sound Module
예:
- Roland SC-D70
- 다른 GM module
3. LCD Keypad Shield 사용 핀
일반적인 DFRobot LCD Keypad Shield 기준
사용 핀
D4 D5 D6 D7 D8 D9 D10 A0 (버튼)
버튼 구성
SELECT RIGHT UP DOWN LEFT
버튼은 저항 사다리 방식으로 A0 하나로 읽는다.
4. UNO 사용 가능 핀
LCD Shield 장착 후 남는 핀
Digital
D2 D3 D11 D12 D13
Analog
A1 A2 A3 A4 A5
5. 추천 핀맵
Encoder
D2 → Encoder A D3 → Encoder B A1 → Encoder Push Switch
D2/D3는 interrupt 가능 → 엔코더 처리에 적합
LED
D11 → MIDI Activity D12 → PLAY 상태 D13 → MODE 상태
D13은 UNO 내장 LED와 연결되어 디버깅에 유리하다.
Potentiometer
A2 → Pot 입력
가능한 기능
- Master volume
- Expression
- Assignable CC
6. 배선
Encoder
Encoder A → D2 Encoder B → D3 Encoder Switch → A1 GND → GND
LED
각 LED
Arduino pin → 330Ω → LED → GND
Potentiometer
좌측 → GND 우측 → 5V 중앙 → A2
7. 버튼 입력 값 (예시)
A0에서 읽히는 값
| Button | Analog 값 |
|---|---|
| SELECT | ~0 |
| RIGHT | ~100 |
| UP | ~250 |
| DOWN | ~400 |
| LEFT | ~600 |
| NONE | ~1023 |
코드에서는 범위 비교 방식으로 처리한다.
8. UI 설계 개념
입력 장치 역할
Buttons → 메뉴 이동 Encoder → 값 변경 Encoder Push → 선택/확정 Pot → 실시간 컨트롤
출력 장치
LCD → 상태 표시 LED → 빠른 상태 표시
9. 기본 화면 (Home Screen)
예:
CH01 Piano VOL100 PAN64
동작
Encoder rotate → Volume 변경 Encoder push → 파라미터 선택
10. 메뉴 구조
MAIN MENU │ ├ PROGRAM ├ CHANNEL ├ CONTROL ├ PLAYER └ SYSTEM
11. PROGRAM 메뉴
PROGRAM 001 GrandPiano
동작
Encoder rotate → Program change Encoder push → confirm LEFT → back
12. CHANNEL 메뉴
CHANNEL 01
Encoder rotate → 1~16
13. CONTROL 메뉴
예
CONTROL MODULATION
Pot 동작
Pot → CC 값 변경
가능한 항목
MODULATION EXPRESSION FILTER REVERB CHORUS
14. PLAYER 메뉴
PLAYER STOP
Encoder
rotate → PLAY / STOP / NEXT push → 실행
15. SYSTEM 메뉴
SYSTEM PANIC
가능한 항목
PANIC GM RESET GS RESET DEVICE INFO
16. LED 동작
| LED | 기능 |
|---|---|
| LED1 | MIDI activity |
| LED2 | PLAY 상태 |
| LED3 | MODE 상태 |
예
MODE LED ON → 메뉴 모드
17. v1 설계 철학
Fluid Ardule v1은 완성형 워크스테이션이 아니라
실험 가능한 조작반 프로토타입이다.
검증 목표
- 버튼 5개 + Encoder UI 사용성
- LCD 1602 기반 메뉴 구조
- 실시간 CC 컨트롤
- MIDI Player 제어
검증 후 확장
- Pro Micro 통합
- DIN MIDI 직접 구현
- Custom PCB 설계
fluidcanvas_r2pi/fluid-ardule-v1-uno-single-board-design-guide.txt · Last modified: by hyjeong
