제다이(Jedi) 되기, 1단계: 광선검 만들기

광선검 만들기

image

여러분이 나와 같은(세대) 사람이라면 스타워즈를 보며 자랐을 것입니다. 줄곧 제다이는 나에게 가장 멋진 영웅이었고, 그저 그들 중 하나이길 바라 마지않았습니다. 이제 나이가 들어 내 운명을 따라 루크, 요다 그리고 오비완과 함께 제다이 기사단(Order)에 가입하기로 결심했습니다.

그런데 어디서부터 시작하죠? 모든 제다이들이 가지고 있는 것엔 어떤 것이 있죠? 로브! 그래요 맞아요, 하지만 그런 건 여러분 할아버지도 가지고 있죠. 광선검! 가장 위대한 무기! 모든 제다이는 손수 제작한 광선검을 가지고 있으니, 나도 정도를 따라 내 광선검을 만들 것입니다. 물론 소리와 빛이 나는 아주 멋진 영화 복제품을 살수도 있지만, 만들 수 있는데 왜 사나요?

내 광선검에 포함되었으면 하는 몇 가지가 있습니다: 주고받는 타격을 견딜 수 있는 탈착식 블레이드(나 자신을 알지만, 광선검으로 주변 물건을 치지 않을 리가 없으니까), 다양한 색깔, 효과음, 그리고 무언가 때렸을 때 충돌 효과. 기판을 직접 설계하고 만들기는 싫어서 몇몇 이미 만들어져 있는 기판을 사용했습니다. 아래는 사용한 부품들입니다:

틴지 3.5는 많은 기능과 능력을 가진 멋진 작은 보드입니다. 이 보드는 아두이노 IDE와 호환되며 편집 없이도 동작하는 많은 기존 라이브러리들이 있습니다. 512K 플래시 메모리, 192K RAM 및 4K EEPROM을 탑재한 120MHz 암 코텍스(ARM Cortex) M4를 기반으로 합니다. 40개의 디지털 I/O핀은(모든 핀들은 인터럽트로 설정할 수 있으며, 약 1/2은 아날로그 핀으로 설정할 수 있습니다) 칩이 처리할 수 있는 거의 모든 프로젝트에 충분한 I/O를 제공합니다. 그리고 이 보드는 4채널 디지털 오디오 입출력을 가지고 있어서 특히나 오디오 기능에 관심이 많았습니다. 내 광선검에는 예컨데 타격 시 나는 소리나 웅웅거리는 배경음과 같은 여러 가지 효과음이 필요합니다-이런 기능이 있는 보드를 찾는 것이 큰 도움이 되었습니다. 또한, 사운드 파일을 저장할 수 있는 마이크로SD 카드 슬롯도 부착되어 있습니다. 틴지 3.5는 광선검 구동에 필요한 작업을 처리하기에 충분한 기능과 속도를 가지고 있습니다.

틴지 보드에는 여러 버전이 있고, 모두 다른 기능을 가지고 있습니다. 필요한 기능을 빠뜨리지 않도록 틴지 보드를 구입하기 전 설명서를 다시 한 번 확인하시기 바랍니다.

다음 부품은 모션 컨트롤입니다. 틴지 3.5에는 모션 컨트롤이 내장되어 있지 않아서 1528-1900-ND를 선택했습니다. 이 부품은 가속도계, 자이로스코프 및 자력계가 통합된 9DOF(Degrees Of Freedom) 센서입니다. 자력계 기능은 전혀 사용하지 않겠지만, 자이로스코프는 검의 스윙 움직임을 그리고 가속도계는 충돌하는 힘을 감지하는데 사용됩니다. 두 보드의 핀간 간격은 0.1인치(2.54mm)로 동일해서 사실 이 부품을 틴지 보드 위에 겹칠 수 있었습니다. 하지만 서로 맞는 핀으로 정렬되어 있지 않다는 문제가 발생합니다. 가장 큰 문제는 전원과 접지입니다. 1528-1900-ND의 규격서를 확인해본 결과, 이 보드는 최대 전력에서 1밀리암페어 미만의 전류를 소모한다는 것을 확인했습니다. 이는 틴지 보드의 I/O 제한인 20mA 이내이기 때문에, I//O를 하이로 설정해서 자이로의 전원에 연결하도록 할당하고, I/O를 로우로 설정해서 접지에 연결하도록 할당하였습니다. 이런 식으로 하는 것을 추천하지는 않지만, 이 조합에서는 우연히 통했습니다. I2C 통신 핀들은 이미 (동일하게)정렬되어 있어 문제가 없습니다. 아래는 위와 같이 쌓는 방법을 알기 전에 사용한 보드들의 사진으로, 헤더를 제거한 후 보드들을 쌓았습니다:

오디오 증폭기(1528-1492-ND)도 동일하게 쌓았습니다. 단, 틴지 보드의 같은 면에 두 부품을 쌓을 공간은 없어서 틴지 보드의 바닥면에 장착했습니다(틴지 자나요!). 불행히도, 상당한 전류를 소모하기 때문에 자이로에서처럼 I/O를 전원/접지에 사용하는 꼼수를 사용할 수는 없었습니다. 이 경우에는, 사용하지 않는 핀 몇 개에 보드를 장착하고 필요한 연결은 점퍼 와이어를 통해 하였습니다. 아래는 회로도 입니다:


주) 아래 샘플 제작 시 사용된 커넥터는 회로와 반대임. 블레이드/충전기에 CP-1040-ND를, 그리고 검자루에 CP-1140-ND를 사용함.

아래는 빈 블레이드에 넣어 덮기 전의 커넥터에 납땜한 블레이드 LED입니다:

아래는 커넥터가 딱 맞도록 3D 프린터로 제작한 스페이서에 조립하고 넣어서 접착한 모습입니다:
image

배터리의 전원은 블레이드를 통해 위로 공급된 다음 아래의 마이크로 컨트롤러로 흐릅니다. 즉, 블레이드를 빼면 배터리는 연결이 완전히 끊어져서 사용하지 않는 동안 방전을 방지합니다. 1번 버튼은 블레이드의 전원을 켜고 끄며, 2번 버튼은 색상을 변경합니다. 2번 버튼을 누르고 있으면 광선검은 "교차 충돌(cross clash)"모드에 진입합니다. 이는 마치 광선검이 서로 교차하며 충돌하듯이 계속해서 번쩍이고 불꽃이 튀는 것입니다. 전체 코드는 여기에서 찾을 수 있습니다: GitHub - Oldspicy/lightsaber

배터리에 대해서 얘기하자면, 이 제품은 125개의 LED를 통해 5암페어 이상의 많은 전류를 소모합니다. 표준 AA 배터리로는 오래 가지 못합니다. 1528-1834-ND는 4.4AH 리튬 배터리 팩으로, 현재까지는 전력 요구량을 충족할 수 있었습니다. 이 배터리 팩으로 옮기기 전에는 많은 문제와 재부팅 및 이상 현상들을 목격했는데 이제는 마이크로컨트롤러의 브라운 아웃(Brown out, 전원의 전류가 부족해서 전압이 정상적으로 인가되지 않는 상황)이 원인임을 알고 있습니다. 배터리를 충전하기 위해 충전기와 블레이드에 달린 것과 동일한 커넥터인 CP-1040-ND용의 홀더를 3D 프린트로 설계하였습니다. 검자루 끝의 블레이드 슬롯에 충전기를 꽂고 5V 전원 공급 장치에 연결해 내장 배터리를 충전합니다.

image

사운드는 오디오 앰프에 연결된 668-1592-ND(스피커)를 통해 재생됩니다. 모든 사운드 파일은 틴지에 장착된 SD카드에 저장되어 있습니다(죄송하지만, 사운드 파일을 찾아드릴 수는 없습니다. 온라인에는 저작권이 없는 오픈 소스 파일들이 많이 있으니, 구글을 활용해보세요). 스피커는 검자루 밑면에 끼워 넣도록 3D 프린터로 제작한 자루 끝 부분 안쪽에 접착제로 붙입니다:
image

검자루에 대해서는… 어떻게 만드는지 알려주지는 않을 것입니다. 매우 다양한 가능성이 있으니, 상상력을 발휘해서 멋져 보이는 것들과 전자장치들을 고정시킬 수 있는 것들로 만들어 보시기 바랍니다. 내 검자루는 싱크대 배수구, 차고에서 찾은 파이프 및 취미점이나 철물점에서 찾은 여러 가지 물건들과 이 모든 것들이 서로 잘 체결이 되도록 하기 위해 3D 프린터로 만든 몇 가지의 조합입니다. 영광스럽게도 여기 있습니다.

조립되지 않은 상태:
image

블레이드 장착 상태. 눈에 보이는 썸나사(thumscrew)는 거실에서 시스(Sith)와 싸우는 동안 블레이드가 빠져 날아가지 않게 꽉 붙잡습니다:
image

여러분이 사용 가능한 것으로부터 자신만의 검자루를 만드는 것은 영화속에서 보여주는 검자루처럼 정밀하지 않더라도 여러분의 검을 여러분 자신만큼 독특하도록 만들어줄 것입니다. 기억하십시오, 스타워즈 이야기는 많고 어떠한 종류의 제다이도 가능합니다!

아래는 광선검을 만들고 테스트하는 무작위로 선택한 사진입니다:
image image

image image

image image

멋진 사진들!

image

image

image

image



영문 원본: Becoming a Jedi, Step 1: Build a Lightsaber