3D 프린팅 출력 및 조립하여 완성하기
오늘은 3D 프린터를 이용하여 출력한 부품들과 앞서 소개한 부품들을 함께 조립하여 시계를 완성하겠습니다. 이 글을 통해 시계 자체는 모두 완성되고 다음 글에서 무선 인터넷을 이용한 사용자 인터페이스를 구성하면 이번 프로젝트는 모두 마무리 됩니다. 출력 과정은 생략하고 출력물부터 소개할 것이고, 별다른 설명은 필요 없어서 사진 위주의 소개글이 될 것입니다.
3D 프린터로 출력한 부품
출력물은 다섯 개입니다. 케이스 좌, 우 그리고 엔코더용 노브(knob)와 네오픽셀 LED용 디퓨저(diffuser), 마지막으로 시계 뒤 커버(cover)입니다. 제가 가진 3D 프린터의 출력 범위가 125mm 밖에 안돼서 케이스를 둘로 나눌 수 밖에 없었습니다. 세그먼트 LED의 폭이 120mm나 되는 바람에 고민을 너무 많이 했네요!
시계 뒤 커버입니다. NodeMCU 보드, 아날로그 광센서, 그리고 배터리 쉴드를 장착합니다.
케이스 좌, 우 부품입니다. 처음에는 한 덩이로 설계했지만, 출력하다보니 어쩔 수 없이 나누게 되었네요. 그래서 디자인이 많이 지저분해졌습니다.
네오픽셀 RGBW LED를 위한 디퓨저입니다. 반투명 재질로 출력했는데, 생각보다 투명한 느낌은 없네요. 세그먼트 LED 아래쪽에 장착됩니다.
로터리 엔코더를 위한 노브입니다. 돌리기 쉽게 약간 크게 디자인했습니다.
디퓨저에 네오픽셀 LED를 장착했습니다. 돌출된 LED를 위해 안쪽으로 홈을 내었고, 볼트 홀이 작아서 M2 사이즈의 볼트를 이용해 고정하였습니다.
이렇게 케이스 아래쪽에 끼워 넣고 따로 고정하진 않습니다.
뒤 쪽에서 본 모습입니다. 사진에서 위쪽이 케이스의 아래 부분입니다.
디퓨저 위쪽으로 세그먼트 LED도 삽입하였습니다. 사진에는 일자형 핀 소켓이 보이지만 엔코더와의 간섭 때문에 'ㄱ'자로 변경하였습니다.
앞 쪽에서 본 모습입니다.
전면에는 3mm 두께의 아크릴을 적용하였습니다. 흑색 투명 아크릴이며 밝기는 약간 손해 보는 대신 좀 더 깔끔해 보이는 듯합니다.
뒤 커버는 자주 탈부착해야 하기 때문에 인서트 너트를 이용하기로 했습니다. M3 사이즈입니다.
두 개의 케이스를 서로 고정하는 부분으로 케이스 아래쪽에 있습니다.
반대쪽 케이스도 끼워 주었습니다.
양쪽 케이스 부품을 아래쪽에서 볼트로 고정하였습니다.
케이스 안쪽으로 너트를 위한 육각 홈을 두었기 때문에 볼트를 돌리기만 해도 조여져 고정됩니다.
케이스 상단에 있는 엔코더를 위한 자리입니다. 엔코더를 고정하는 육각 너트를 위한 홈을 만들어 고정하기 쉽게 했습니다.
엔코더를 장착하였습니다. 위쪽에 너트를 삽입 후 아래쪽에서 돌려 끼웠습니다.
뒷 판을 제외한 모든 부품이 조립된 모습입니다.
후면 커버에 먼저 NodeMCU 보드를 고정했습니다.
다음으로 아날로그 광 센서를 조립하였습니다.
아날로그 광 센서 아래쪽에 센서를 위한 수광부를 만들어 주었습니다.
마지막으로 배터리 쉴드를 장착하였습니다. USB 충전 포트의 위치 때문에 쉴드를 세워서 장착하였습니다.
모든 부품을 장착하고 케이블까지 연결한 모습입니다.
볼트를 인서트 너트에 고정하여 후면 커버를 케이스에 장착하였습니다.
마지막으로 엔코더에 노브를 장착하여 완성하였습니다.
이제 완성된 시계에 프로그램을 작성하여 업로드하겠습니다. 업로드할 때는 USB 케이블 연결을 위해 후면 커버를 열어야 합니다.
이제까지 연재를 통해 소개했던 각 부품들을 위한 코드들을 종합하여 아래와 같이 하나의 프로그램으로 완성하였습니다. 자세한 설명은 이미 각 연재 글에서 했기 때문에 여기서는 완성된 소스만 소개하겠습니다.
프로그램을 업로드 하고 실행된 모습입니다.
마지막으로 White LED를 이용한 램프를 켜보았습니다.
완성된 모습과 간단한 조작 영상입니다.영상 속에서는 처음 실행시의 구동 영상과 LED 램프를 켜는 모습이 나옵니다. LED 램프는 상단의 노브를 눌러 on/off 하는 모습과 살짝 돌리는 동작으로 램프를 켜는 모습이 이어서 나옵니다. 여기까지 해서 시계는 우선 완성하였고, 다음 글에서는 마지막으로 WiFi를 이용하여 시계를 제어할 수 있도록 서버 및 웹 페이지를 구성하겠습니다. 이상입니다.