Fluid Ardule Development Log
Date
Overview
오늘은 Fluid Ardule 프로젝트에서 UI 기반 구조 안정화와 상태 동기화 체계 확립을 중심으로 중요한 진전을 이루었다.
특히 Raspberry Pi ↔ Arduino UNO 간의 통신 구조를 실제 운용 가능한 수준으로 끌어올린 것이 핵심 성과이다.
Key Achievements
1. Serial 기반 상태 동기화 구조 확립
2. Heartbeat 기반 연결 감시 (Link Watchdog)
Pi가 1초마다 HB 전송
UNO에서 일정 시간 미수신 시:
Pi not connected 표시
LED 상태 변경
👉 결과:
3. 로그 최적화
if line != "HB":
log(...)
👉 결과:
로그가 “상태 변화 중심”으로 정리됨
디버깅 가독성 크게 향상
4. MIDI 안정성 개선 (Safety Reset)
5. USB DAC Strict Detection
HDMI / 기본 출력 차단
특정 장치만 허용:
O22
SC-D70
USB Audio CODEC
👉 결과:
6. LED 상태 체계 구현
핀맵:
D11 → MIDI Activity
D12 → PLAY 상태
D13 → MODE 상태
동작:
7. 상태 머신 구조 안정화
상태 흐름:
BOOT → WAIT_AUDIO → WAIT_SYNTH → WAIT_MIDI → READY
특징:
각 단계에서 명확한 조건 기반 전이
예외 상황 자동 복귀
8. UNO ↔ Pi 역할 분리 확립
UNO:
UI (LCD + Button + LED)
입력 이벤트 생성
Pi:
상태 판단
오디오 / MIDI 제어
시스템 제어
👉 구조적으로 매우 건강한 아키텍처 완성
Design Decisions
1. UI 신뢰성 우선
“마지막 상태 유지” 대신
“연결 끊김 명확 표시” 선택
2. Heartbeat 유지, 로그 제거
3. Launcher 미사용
Current System Status
현재 시스템은 다음이 가능한 상태:
👉 사실상 사용 가능한 프로토타입 수준 도달
Next Steps
다음 단계에서 진행할 것:
Home UI 완성
Preset 시스템
SoundFont 변경 UI
MIDI routing 확장
Summary
오늘의 핵심 성과:
통신 안정성 확보
UI 신뢰성 확보
로그 품질 개선
MIDI 안정성 확보
👉 프로젝트가 “실험 단계”에서
👉 “제품 구조 단계”로 넘어간 중요한 전환점
End of document