# Fluidule UI 설계 정리 (UNO + LCD Keypad Shield + 추가 키패드) {{:fluidcanvas_r2pi:fluid_ardule_parts_and_pin_map.png?400|}} 본 문서는 현재까지 논의된 **Fluidule(Fluid Ardule) 프로토타입 UI 설계**를 정리한 것입니다.\ 구성은 다음과 같습니다. - Arduino UNO - 1602 LCD Keypad Shield (5버튼) - 아날로그 5버튼 모듈 - Rotary Encoder 1개 - Master Volume Potentiometer 1개 - Status LED 3개 - Raspberry Pi (FluidSynth / VA / MIDI Routing) 총 입력 장치: - LCD Shield 버튼 5개 - 외부 키패드 버튼 5개 - 엔코더 버튼 1개 즉 **총 11개의 버튼**이 됩니다. ------------------------------------------------------------------------ # 1. 전체 UI 철학 Fluidule가 수행해야 할 주요 기능은 다음 세 가지입니다. 1. 신스 선택 및 조절 (FluidSynth / VA) 2. MIDI 라우팅 설정 3. 시스템 기능 (패닉, 리셋, 종료 등) 따라서 입력 장치는 다음 세 계층으로 나누는 것이 가장 자연스럽습니다. [네비게이션] [기능 / 모드] [연속값 조정] 즉 역할 분리는 다음과 같습니다. - LCD Shield 버튼 → 메뉴 이동 - 외부 5버튼 → 기능 / 모드 선택 - 엔코더 → 값 조정 - POT → 마스터 볼륨 ------------------------------------------------------------------------ # 2. LCD Shield 버튼 기능 이 버튼들은 **메뉴 이동 전용**으로 사용하는 것이 좋습니다. 버튼 기능 -------- -------------- UP 이전 항목 DOWN 다음 항목 LEFT 이전 페이지 RIGHT 다음 페이지 SELECT 선택 / Enter 이 버튼들은 Panic 같은 직접 기능을 넣지 않는 것이 좋습니다. 사용자가 항상 다음처럼 이해하도록 합니다. UP/DOWN = 항목 이동 LEFT/RIGHT = 페이지 이동 SELECT = Enter ------------------------------------------------------------------------ # 3. 외부 5버튼 기능 외부 키패드는 **직접 기능 버튼**으로 사용하는 것이 좋습니다. ## 권장 할당 버튼 기능 ------ -------- B1 SYNTH B2 ROUTE B3 FX B4 PANIC B5 SYSTEM ### SYNTH 신스 관련 화면으로 이동 예: - FluidSynth preset - SoundFont 선택 - VA preset - oscillator / filter ### ROUTE MIDI 라우팅 설정 예: - USB → internal - DIN → internal - USB → DIN - soft thru ### FX 효과 설정 예: - reverb - chorus - VA effect ### PANIC All Notes Off / All Sound Off ### SYSTEM 시스템 메뉴 예: - GM Reset - Shutdown - Status - System info ------------------------------------------------------------------------ # 4. 엔코더 역할 엔코더는 항상 **값 조정**에 사용합니다. 동작 기능 ------ ------------- 회전 값 조정 버튼 선택 / 적용 예: - preset 변경 - effect depth - routing option 즉 구조는 다음과 같습니다. Shield 버튼 = 어디로 이동할까 Encoder = 값을 얼마나 바꿀까 ------------------------------------------------------------------------ # 5. Master Volume POT POT는 메뉴와 완전히 분리합니다. 조작 기능 ------ --------------- 회전 Master Volume 이 값은 다음 중 하나로 연결됩니다. - FluidSynth gain - 내부 mixer - MIDI CC7 즉 사용자는 언제든 **손으로 볼륨을 바로 조절**할 수 있어야 합니다. ------------------------------------------------------------------------ # 6. LCD 화면 예시 ## 홈 화면 Fluidule FS: Piano 1 Route: USB→INT Vol: 84 ## SYNTH 화면 Synth FluidSynth Preset: Piano 1 SF2: FluidR3 ## ROUTE 화면 Routing USB In : INT DIN In : INT+OUT SoftThru: ON ## FX 화면 Effects Reverb : 42 Chorus : 15 VA FX : OFF ## SYSTEM 화면 System GM Reset Shutdown Status ------------------------------------------------------------------------ # 7. Arduino UNO 핀맵 ## LCD Keypad Shield 핀 기능 ---- ------------- D4 LCD D4 D5 LCD D5 D6 LCD D6 D7 LCD D7 D8 LCD RS D9 LCD EN A0 Shield 버튼 ------------------------------------------------------------------------ ## 외부 5버튼 모듈 핀 기능 ---- ---------------------- A1 아날로그 키패드 입력 ------------------------------------------------------------------------ ## Rotary Encoder 핀 기능 ----- ------------- D2 Encoder CLK D3 Encoder DT D10 Encoder SW ------------------------------------------------------------------------ ## Master Volume POT 핀 기능 ---- ------------- A2 Volume 입력 ------------------------------------------------------------------------ ## 상태 LED 핀 기능 ----- -------------- D11 MIDI IN LED D12 MIDI OUT LED D13 STATUS LED ------------------------------------------------------------------------ ## 남는 핀 A3, A4, A5 ------------------------------------------------------------------------ # 8. 최종 입력 장치 요약 장치 수 ----------------- ---- LCD Shield 버튼 5 외부 버튼 5 엔코더 버튼 1 엔코더 회전 1 Volume POT 1 총 **11개의 버튼 + 1개의 노브 + 1개의 POT** 입니다. ------------------------------------------------------------------------ # 9. 설계 요약 가장 중요한 UI 철학은 다음과 같습니다. Navigation → LCD Shield 버튼 Function → 외부 키패드 Value → Encoder Volume → POT 이 구조는 실제 랙 신스 UI와 매우 유사한 구조입니다.