User Tools

Site Tools


fluidcanvas_r2pi:arduino_uno-based_controller_development

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fluidcanvas_r2pi:arduino_uno-based_controller_development [2026/03/24 14:42] – [처음으로 소리를 내 보기] hyjeongfluidcanvas_r2pi:arduino_uno-based_controller_development [2026/04/08 08:47] (current) – [Version 1.3으로 하드웨어 구성 전면 변경] hyjeong
Line 50: Line 50:
 현재 아두이노 UNO에는 1602 LCD + 키패드 모듈과 pot만 연결된 상태이다. Select 버튼을 길게 누르면 halt/reboot 메뉴로 들어가며, 이 기능이 잘 작동하는 것까지 확인하였다. 현재 아두이노 UNO에는 1602 LCD + 키패드 모듈과 pot만 연결된 상태이다. Select 버튼을 길게 누르면 halt/reboot 메뉴로 들어가며, 이 기능이 잘 작동하는 것까지 확인하였다.
  
-작업 기록([https://blog.genoglobe.com/2026/03/fluid-ardule.html|블로그]])+  * 작업 기록([[https://blog.genoglobe.com/2026/03/fluid-ardule.html|2026년 3월 24일에 작성한 블로그 ]]) 
 +  * 내가 보유한 다른 USB audio interface(SC-D70, Onyx 2-2) 역시 코드를 수정하지 않고 잘 인식되었다. 그러나 어느 USB 기기를 쓰든지 자동으로 FluidSynth를 띄우고 장치를 연결하여 건반을 눌렀을 때 소리가 나게 하는 데에서 상당한 수준의 최적화가 필요하였다(2026년 3월 24일). 
 + 
 +===== 하드웨어 구성 완료 후 개발 진행 상황 ===== 
 + 
 +로터리 인코더와 3개의 LED를 연결하였다. 회로는 이것 이상으로 달라지지 않을 것이다. 이 사진에서는 보이지 않았지만, Mackie Onyx Producer 2-2 오디오 인터페이스까지 포함해야 Fluid Ardule이라고 부를 수 있다. 
 + 
 +{{ :fluidcanvas_r2pi:20260325_220204.jpg?400 |}} 
 + 
 +  * [[fluid_ardule_dev_log_2026-03-25]] 
 +  * [[fluid_ardule_dev_log_2026-03-27]] 
 +  * {{:fluidcanvas_r2pi:0k_uno_260327c_power_ack_statefix_fmacro_panic_autolink_stable.zip|2026년 3월 27일}} - UNO–Pi 통신, UI 상태머신, MIDI 처리의 안정 동작 확보 (baseline milestone), 즉 Fluid Ardule의 **기본 동작 루프(입력–처리–출력)**가 안정적으로 동작하는 첫 완성 단계로서 '전원을 넣고 건반을 연결하면 피아노 소리가 난다'는 기본 기능을 구현한 상태이다. 
 +    * UNO–Pi 시리얼 링크 안정화 (HELLO/HB 기반 keepalive) 
 +    * MIDI passthrough 및 panic 처리 신뢰성 개선 
 +    * UI 상태 구조 정리 (HOME / MENU / POWER 흐름 확립) 
 +    * power 메뉴에서 reset / halt 분기 및 confirm 로직 구현 
 +    * LCD 깜빡임 감소 및 상태 표시 안정화 
 +    * systemd 기반 Pi 측 실행 구조와 정상 연동 확인 
 +  * [[fluid_ardule_milestone_2026-03-29]] - 로터리 인코더 신호를 제대로 처리하기 위하여 사전 테스트를 거쳤다. 테스트용 펌웨어도 이 문서에 포함하였다. 
 + 
 +===== I2C 2004 LCD로 교체 ===== 
 + 
 +2026년 4월 4일, 조작성을 높이기 위해서 I2C 2004 LCD 모듈과 별도의 5버튼 키패드를 달았다. 키패드의 저항 조건을 알아내고 인코더 동작을 안정화하느라 약간 어려움이 있었다. 모든 부품을 나무판 위에 임시로 고정하였다.   
 +{{:fluidcanvas_r2pi:fluid_ardule_20260404.jpg?400|}} 
 + 
 +===== Version 1.3으로 하드웨어 구성 전면 변경 ===== 
 + 
 +{{:fluidcanvas_r2pi:fluidardule_20260407.jpg?400|}} 
 + 
 +  * ~2026년 4월 7일: UART 시리얼 통신 구성, PCM5102A I2S DAC 인식 및 설정(/etc/asound.conf 생성 포함), UNO 기본 조작 테스트용 펌웨어 테스트, [[Fluid_Ardule_UNO_Serial_Protocol|라즈베리파이 <-> 아두이노 우노 시리얼 통신 프로토콜]] 재정의 
 + 
 + 
 +===== 프로그램 테스트 요령 ===== 
 +2026년 3월 27일 버전에서는 부팅 후 systemd에 의해서 다음의 두 서비스가 자동적으로 실행된다. 
 +<code> 
 +tft-splash.service # 부팅 시 TFT-LCD에 스플래시 이미지를 띄움 
 +fluid_ardule.service 
 +</code> 
 +설정 파일은 /etc/systemd/system에 있다. 하지만 이것은 실행 파일이 아니라 설정 파일이다. 실제 각 서비스가 불러오는 스크립트는 /home/pi/scripts에 존재한다(tft-splash.sh, launch_fluidardule.py). 
 + 
 +인코더 작동 등 앞으로 추가해 나갈 스크립트 테스트할 때에는 fluid_ardule.service를 끈 상태에서 하는 것이 좋다. 스플래시 이미지는 그대로 두자. 
 + 
 +<code> 
 +sudo systemctl stop fluid_ardule.service # 즉시 멈춤 
 +sudo systemctl disable fluid_ardule.service # 재부팅 후에도 작동하지 않게 함 
 +</code> 
 +systemd 서비스 스크립트를 변경한 경우 'sudo systemctl daemon-reload'를 실행해야 한다. 
 + 
 + 
fluidcanvas_r2pi/arduino_uno-based_controller_development.1774330942.txt.gz · Last modified: by hyjeong