라즈베리파이(이하 Pi로 표기) 3B에서 Volumio를 구동하던 시절, 3.5인치 TFT LCD(480x320)를 달아서 조작용으로 쓰려고 노력하던 때가 있었다. 휴대폰 앱으로 제어하면 되지만 반응이 늦거나 연결이 잘 되지 않는 문제가 종종 발생하기 때문이다. Pi의 공식 디스플레이는 아마 HDMI로 연결되는 7인치 LCD일 것이다. Pi의 GPIO 소켓에 그대로 꽂아서 쓸 수 있는 SPI(Serial Peripheral Interface) 방식의 3.5인치 중국산 TFT LCD는 구동시키기가 매우 까다로운 것으로 유명하다. 작년 여름에 온갖 시도를 다 해 보았으나 터치 좌표를 도저히 맞출 수가 없어서 포기하고 말았다. 관련 기록은 여기에 있다.
음원 파일 재생기로 쓰던 Pi는 2026년에 접어들면서 사운드폰트를 이용하는 소프트웨어 신시사이저인 FluidSynth 구동용 기기, 곧 ‘Fluid Ardule(= Fluidule)’로 변모하고 있다. 처음에는 사운드 캔버스를 본뜬 Fluid Canvas라는 이름도 고안했으나, 지금은 Fluid Ardule 쪽으로 기울고 있다.
조작은 USB-serial로 연결한 아두이노(우노)에서 버튼과 인코더를 사용하여 실시할 예정이다. 조작을 위한 디스플레이는 아두이노에 연결된 1602 LCD가 될 것이다. 그러나 여기에서 보이는 정보량은 너무나 적다. 그래서 상태 표시용으로 Pi에 3.5인치 LCD를 다시 달아보기로 하였다. 터치 입력 기능은 일절 사용하지 않고, 단지 1초 정도의 간격으로 작동 상태를 보여주는 것으로 기능을 제한하였다.
이것 역시 쉽지 않았다. Raspberry Pi OS는 계속 발전하는 반면, 중국산 3.5인치 TFT LCD에 대한 드라이버 지원은 예전과 같지 않기 때문이다. LCD-show라는 드라이버 스크립트 모음이 꽤 쓸 만한 것으로 알려져 있고 작년에도 이를 사용했었다. 그러나 시스템에 뭔가 ‘침습적’인 흔적을 남기기 때문에 커널 업데이트 등에 대응하기 어렵다고 한다. 이미지나 동영상을 빠르게 재생할 것이 아니기 때문에 LCD-show를 쓰지 않는 단순한 방법을 알아본 끝에 겨우 성공하였다. 다음은 ChatGPT로 만든 부팅용 스플래시 이미지를 표시해 본 것이다. 전체 과정은 별도 위키 문서인 Raspberry Pi OS Installation and Optimization에 정리하였다.
| 액체 방울 속의 MIDI 커넥터. 원본 이미지 링크. |
MIDI 주변기기를 Fluid Ardule에 연결하여 사용하거나 오디오 파일을 재생하는 기본 테스트는 전부 마친 상태이다. 아두이노를 이용한 조작반이 완성되면, Fluid Ardule에서 불필요한 기능을 없애야 한다. 그래야 부팅 시간도 빨라지고 FluidSynth 작동도 원활해질 것이기 때문이다. 목표 부팅 시간은 10초. 불가능하지 않다고 하니 시도할 가치는 충분하다.
아직은 Fluid Ardule에 키보드와 HDMI 모니터를 연결하여 직접 명령어를 입력해야 한다. HDMI 기능을 무력화시키면 Wi-Fi를 통한 SSH 접속을 해야 한다. 만약 네트워킹 기능까지 죽인다면 시리얼-USB 통신을 해야 한다(맞는 케이블 필요; 윈도우측의 드라이버 호환성 때문에 FTDI나 CP210x 칩 사용 제품 추천). 시스템 자원 소모를 극도로 줄인 통신 방법이라고 할 수 있다. 그런데 TFT LCD가 모든 GPIO 핀을 가리고 있어서 통신에 필요한 RX(10)/TX(8) 핀에 접근하기가 너무 나쁘다. 실제로 TFT LCD의 구동에 필요한 핀은 몇 개 되지 않지만, 2x13개의 핀 자리를 차지하고 있는 것이다.
|
|
| LCD 모듈의 핀헤더 소켓이 GPIO 1~26번 핀을 가리고 있다. 아래 사진에서 맨 오른쪽 핀이 2번이며, 1번은 안쪽에 있다. |
다음 이미지와 같은 아이디어 상품도 있지만 가격이 꽤 비싸다. 케이블로 연결하는 GPIO expansion board라는 것도 존재한다.
|
|
| 그림 출처: Geekworm |
가장 간단한 방법은 Pi 보드 뒷면에서 납땜을 하여 필요한 선 세 가닥을 따는 것이다. 아두이노 우노에서도 이런 짓을 하더니(관련 글 링크), 드디어 라즈베리 파이까지 손을 대게 되었다.
2026년 3월 19일 업데이트
라즈베리파이 3B에서 사운드를 설정하고 FluidSynth를 활용하는 방법을 별도의 위키 문서인 Raspberry Pi OS Installatio and Optimization에서 작성해 나가고 있다. 앞으로 아두이노 우노를 이용한 조작반 제작과 펌웨어 설계, 그리고 라즈베리파이의 부팅 속도 향상 등 할 일이 많다. 케이스는 또 어떻게 할 것인가?
| 이 작은 부품 하나가 많은 상상력과 영감을 불러 일으킨다. |
댓글 없음:
댓글 쓰기