Phyllotaxis - 소리에 반응하는 LED 디스플레이

1 week ago 14

해바라기와 다육식물에서 볼 수 있는 엽서 배열(phyllotaxis) 패턴을 보로노이 셀로 나누고, 각 셀에 RGB LED를 넣어 소리에 반응하는 물리적 디스플레이를 제작함 첫 버전은 89개 LED와 3D 프린팅한 셀 벽, 빛을 확산하는 닥나무 종이를 결합했으며, LED 좌표를 이용해 셰이더처럼 조명 패턴을 작성함 STM32와 디지털 I2S 마이크로 주변 소리를 입력받고, 자동 게인 제어와 주파수 대역별 에너지 분석을 거쳐 빛의 움직임을 구동함 두 번째 버전은 조립 편의성과 견고함을 목표로 동일한 PCB 5개를 원형으로 배치하는 구조로 바꿨지만, LED 아래쪽에 있는 납땜 패드 때문에 수작업 조립에 어려움을 겪음 Recurse Center에 설치한 두 번째 버전은 ESP32와 Rust 펌웨어를 사용하며, 로컬 웹사이트에서 스케치와 게임을 업로드할 수 있음 자연의 나선 패턴을 LED 셀로 만들기 엽서 배열은 해바라기 중심부와 다육식물 등에서 나타나는, 바깥으로 확장되는 이중 나선 형태임 원의 반지름을 따라 선형으로 배치한 점들을 황금비의 증가하는 배수만큼 회전시키면 해바라기를 닮은 점군을 얻을 수 있음 코드에서는 황금비 값 1.6180339887을 사용하고, 내부와 외부의 일부 점은 실제 사용할 셀의 간격을 조정하는 데만 사용함 점군을 보로노이 분할하면 씨앗방처럼 보이는 셀들이 만들어짐 고등학교 때 제작했던 직사각형 NeoPixel 매트릭스보다 흥미로운 형태를 찾다가, 각 셀에 개별 주소 지정이 가능한 RGB LED를 넣는 구상으로 이어짐 디지털 형상을 실제 구조물로 제작하기 Processing 스케치에서 셀 경계 데이터를 내보내고, Python의 CadQuery로 물리적 형상을 생성함 전체 보로노이 셀을 합친 부피에서 각 셀을 조금 축소한 부피를 빼 벽을 남김 각 셀의 중앙에는 LED가 들어갈 구멍을 뚫음 3D 프린터 베드에 맞도록 전체 형상을 대략 같은 크기의 네 구역으로 분할함 STEP 파일을 FreeCAD로 가져와 나사 구멍을 추가하고, 종이를 받치는 얇은 전면판을 만듦 전면판 아래에 종이를 잘라 붙인 뒤, 나사로 셀 벽에 고정함 3D 프린팅한 구조물에는 빛을 잘 확산하는 반투명 닥나무 종이를 사용함 종이의 자연스러운 섬유 무늬가 빛과 어우러지는 외관을 만듦 LED 89개를 납땜하고 여분의 STM32 Black Pill 보드에 연결했으며, SPI를 이용한 NeoPixel 드라이버를 작성함 좌표 기반으로 조...

Read Entire Article