ESP32를 이용한 한글 시계 DIY


7 Segment 네트워크 시계 2개를 만들고도 WS2812B가 많이 남았다. 남은 걸 어디에 활용할까 고민하다가 어디선가 봤던 아두이노 한글 시계가 떠올랐다. 예전에 봤던 것은 5x5 매트릭스로 오분 단위의 시간만 표시됐지만, 아래와 같은 한글 시계 페이지를 찾을 수 있었다.

6x6 매트릭스를 이용해 분 단위로 시각을 표시할 수 있다는 점이 마음에 들어 이를 바탕으로 DIY를 해봤다. 당연히 저작권은 위의 사이트에 표시된 것처럼 원작자에게 있다.
일단 납땜 최소화를 목표로 구성했다. WS2812B 스트립 한 마디의 크기는 16.6mm다. 6개는 대략 99mm. 한 변이 99mm인 정사각형으로 만들면 납땜을 36번만하면 된다. 만약 36개를 모두 분산배치하면 크고 아름답게 만들 수 있을 거다. 하지만 그러려면 납땜을 총 216번 해야한다. 납땜한다고 쭈그리고 앉아있다가는 가족들의 원성을 사고야 말 거다ㅠㅠ

구상에 맞춰 내부가 127 x 127mm인 액자를 알리에서 하나 구매했다.

파워포인트로 바깥이 120mm, 안이 99m인 사각형을 만들어 실제 크기로 프린트했다.

ws2812b를 6개씩 잘라 적당히 붙여줬다.

납땜 중간에 한 컷.

앞판을 만들기 전에 ESP32에 펌웨어를 올리고 실제 구동해본 모습. 4시 5분이다. 펌웨어는 아두이노로 만들 수도 있었지만, HomeAssistant와의 연동 등을 위해 ESPHOME으로 제작했다. 왼쪽 아래(오 글자)부터 위로 정 -> 자 -> 아 -> 여 -> 한까지 올라가고, 옆으로 두 -> 섯 -> 홉 순으로 LED는 연결돼 있다. 이 배열이라면 아래 붙인 esphome 파일로 쉽게 펌웨어를 만들 수 있다. (물론 따라할 사람이 있는진 모르지만)
LED끼리 간섭이 생기지 않도록 하드보드지를 이용해 격자판을 만들어 넣어줬다(새벽에 일어나 공작(?)하느라 사진은 없다).
그리고 파워포인트로 실제 크기(12.7cm x 12.7cm)에 맞춰 글자가 흰색으로 보이도록 설정한 뒤 레이저 프린터로 OHP필름에 앞판을 인쇄해줬다. A4용지를 뒤에 덧대 면발광(?)효과도 줬다. 밝기가 좀 떨어지는 걸로봐선 A4용지보다는 기름종이(?!)가 나을거 같다. 아래가 일단 1차 완성샷.


참고로 위 사진에 표시된 시간은 9시6분과 9시 7분이다(색깔은 랜덤하게 변한다). 집에 굴러다니는 RTC 모듈(DS1317)을 하나 붙이고 뒤쪽 ESP32를 정리해서 붙이면 진짜 완성. 큰 LED 시계에 이어 한글시계까지 WS2812B를 이용한 시계 호작질은 이걸로 끝!