User Tools

Site Tools


fluidcanvas_r2pi:fluid-ardule-v1-uno-single-board-design-guide

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