그림을 그리듯 LED 조명을 디자인합니다 — LED 하나하나의 색과 밝기, 점등 위치를 지정하고 효과를 더해, 하드웨어에 올리기 전에 패널 전체를 미리 봅니다.
생각의 출발점
LED 스트립도 결국 디스플레이입니다. 길고 가늘고 다루기 까다로우며, 배선 순서도 납땜하기 편한 쪽으로 정해진 것이지만, 그래도 디스플레이입니다. 그리고 디스플레이를 위한 디자인은 그 위에 직접 그리는 것이 가장 자연스럽습니다.
이 편집기가 하는 일이 바로 그것입니다. 색을 고르고 픽셀을 클릭하면 그 LED가 켜집니다. 영역을 끌어 모양을 잡으면 이름을 붙여 재사용하고 애니메이션으로 만들 수 있는 조각이 됩니다. 부품마다 다른 배선 순서, 색 심도, 바이트 순서는 대화 상자 하나에서 한 번만 지정해 두면, 나머지 변환은 편집기가 알아서 합니다.
무엇을 만들어 내는가
대부분의 이미지 편집기는 눈으로 보는 파일에서 끝납니다. 이 편집기는 소스 코드에서 끝납니다. 지정한 영역 하나하나가 픽셀 값의 const 배열이 되는데, LED가 배선된 순서대로, 부품이 담을 수 있는 색 심도로 만들어집니다. 펌웨어는 그 파일을 include 해서 패널을 켭니다.
편집기가 의도적으로 작은 이유가 여기에 있습니다. 픽셀을 그리고, LED 하드웨어를 압니다. 사진을 보정하지는 않습니다.
먼저 알아 둘 네 단어
| 용어 | 여기서의 의미 |
|---|---|
| 박스 | 이미지 위의 이름 붙은 사각형. 박스 하나가 내보내기 배열 하나가 됩니다. 보통 폰트의 글자 하나입니다. |
| 박스 목록 | 현재 이미지의 모든 박스를 내보낼 순서대로 담은 것. PNG 옆에 .box 파일로 저장됩니다. |
| 배열 방식 | 박스 안의 LED를 훑는 순서. 어느 모서리에서 시작하는지, 행 단위인지 열 단위인지, 줄마다 접히는지. |
| 채널 순서 | 색 바이트가 배선으로 나가는 순서 — RGB, GRB 등. 순서가 틀리면 패널이 엉뚱한 색으로 켜집니다. |
작업의 흐름
- PNG를 열거나 새로 만듭니다.
- 직접 그리거나, 다른 사람이 그린 아트를 붙여 넣습니다.
- 필요한 부분을 박스로 지정하고 이름을 붙입니다.
- LED 설정에서 비트 심도·채널 순서·배선을 지정합니다.
- 박스 애니메이션으로 미리 본 뒤, 소스를 내보내고 보드로 다운로드합니다.
💡 4번과 5번이 하드웨어를 설명하는 단계입니다. 한 장비에 대해 한 번 설정하면 그대로 유지됩니다 — 내보낼 때마다 다시 묻지 않고 저장해 둡니다.