LED와 로터리 인코더를 아두이노 우노에 연결하였다. LED 점등용 전류 제한 저항은 처음에는 270옴을 사용하였으나 너무 밝아서 1K로 바꾸었다. 주변 기기의 인식 상황에 맞추어 적절하게 작동하도록 코드를 고쳤다. 멋진 케이스를 갖추지는 못했으나 제법 상용 사운드 모듈의 기능에 근접하고 있다.
이 DIY 기기의 장점은 '모듈화(modularity)'와 '확장성(expandability)'이다. 예를 들어 오디오 출력 장치는 고정되어 있지 않으며, 보유하고 있는 USB 오디오 인터페이스 중 리눅스에서 안정적으로 동작하는 class-compliant USB 기기를 적당히 골라서 쓰면 된다. 아직 테스트를 하지는 못했으나 오디오 인터페이스에 DIN MIDI 커넥터가 있으면 작동 가능할 것이다. 이러한 유연성은 리눅스 계열의 OS로 구동되는 라즈베리파이, 즉 작은 소형 범용 컴퓨터를 바탕으로 시스템을 구성했기 때문에 가능해졌다고 믿는다.
|
|
| Fluid Ardule의 현재 시스템 구성. 주황색 점선으로 둘러싸인 영역이 Fluid Ardule의 코어에 해당한다. |
코딩을 하면서 두 기기 간에 시리얼 통신을 하는 요령도 익히는 중이다. 예를 들어 정상적으로 연결되어 동작하는지를 주기적으로 확인하는 생존 신호인 heartbeat를 3초 주기로 보내는 것이다. 그러나 로그 파일에 이것까지 기록되면 너무 길어지므로 예외로 취급해야 한다.
다음 단기 목표는 사운드폰트 파일을 자유롭게 교체하는 기능을 넣는 것이다. 지금은 피아노 소리를 내는 사운드폰트가 자동으로 로드되게 만들어 두었다. 사운드폰트 교체, CC 제어, 사용자 프리셋 저장 및 로드 등 사운드 모듈이라면 당연히 추구해야 할 기능을 하나씩 넣어 나갈 것이다. 아두이노 우노와 라즈베리 파이 두 기기에서 각각 돌아가는 코드를 짜야 하고, 이는 시리얼 통신으로 서로의 상태를 정확히 파악하면서 제어할 수 있어야 한다.
코드를 통해 구현할 기능도 아직 많이 남았고, 케이스 제작에 들어가면 더욱 많은 고민을 해야 한다. 안정적으로 작동하게끔 양질의 전원을 사용하여 공급 계통을 확정하고, 각 주요 부품의 배치 또한 6개월에서 1년 정도의 기간에 걸쳐 점진적으로 달성해 나가게 될 것이다.
새로운 장난감인 Fluid Ardule 때문에 Nano Ardule MIDI Controller의 PCB 설계 마무리가 늦어지고 있다. 어차피 단일한 생태계를 즐기기 위해 만든 것이므로, 여러 강이 바다로 흐르듯 결국 한 곳에서 만나게 될 것이다.
이번 프로젝트는 아직 GitHub에 올리지 않았다. 서로 다른 하드웨어에서 돌아가는 한 짝의 프로그램을 짜야 함에도 불구하고 이제는 요령이 생겨서 파일명과 간단한 기록, 그리고 기억에 의존하여 느슨하게 버전을 관리하고 있는 상태이다. 그러나 진행 과정은 별도의 위키 사이트에 계속 기록하는 중이다.
물론 이런 방식이 지속 가능하지는 않으니, 필수 기능이 어느 정도 구현되면 GitHub에 공개할 생각이다.
















