본문 바로가기
키보드 DIY 프로젝트

(#2) 3D프린터로 볼륨컨트롤러 DIY (3D프린터,아두이노)

by Newtle Kim 2024. 10. 2.

소스파일(아두이노코드, 3D모델파일)을 상업적 이용을 금하며, 모든 권리는 뉴틀킴에서부터 나옵니다.


안녕하세요. 뉴틀킴입니다.

이번에 만든 디바이스는 "3D Printed Volume Controller" 입니다.

 

현재 키보드 프로젝트를 진행하고 있는데, 이번에 만든 볼륨 컨트롤러는 앞으로 만들 키보드에 들어갈 예정입니다. 

 

제작방법

준비물

- 3D 모델파일 다운 

VolumeController 3Dfiles.zip
0.91MB

 

- 아두이노 소스코드  : 

Volumcontrollermac.zip
0.00MB

 

- 전자 부품 :

(1) Arudino Micro x 1 (2) NeoPixel ring (12LED) x 1

(2) Rotary Encoder (PEC11R-4015F-S0024) x1

(3) Resistor(10k ohm) x 4

(4) Capacitor(0.01uF) x 2 

 

 먼저 전자부품의 CAD 데이터를 참고하여 3D모델링을 진행합니다. 이번에 설계한 볼륨컨트롤러 모델은 Body, Cover, Ring 총 3개의 주요파트로 구성되어 있습니다. 3D데이터는 위 링크에 들어가셔서 다운가능합니다.

3D 모델링
3D 모델링
3D프린팅

 

3D모델파일이 준비가 되었으면 G-code로 변환하고 3D프린터로 출력합니다. 메탈릭한 느낌을 살리기 위해 블랙 유광 필라멘트를 사용하였고, Ring.Stl 파일은 네오픽셀의 LED 불빛이 투과해야하기 때문에 투명필라멘트를 사용하였습니다.

 

3D프린팅 파트들도 다 준비되었으니 이제 전자회로 작업을 진행합니다.

 

 

회로도

 

위 그림처럼 회로를 구성하였습니다. 아두이노 마이크로의 D2, D3핀은 외부인터럽트(CHANGE)를 사용하여 엔코더의 변화를 센싱하고,

D4핀은 엔코더의 스위치에 연결합니다. 엔코더 스위치는 아두이노의 내부풀업저항을 사용할 예정이므로 스위치의 한쪽 핀은 D4핀과 연결하고 나머지 핀은 GND와 연결합니다.

 

D6핀은 네오픽셀의 데이터핀(IN) 과 연결합니다.

 

엔코더 데이터시트 자료

 

엔코더의 A,B,C 핀은 데이터시트가 제공하는 회로대로 구성하였습니다.

 

회로가 다 구성되었으면 브레드보드 레벨에서 동작 테스트를 하면 좋은데요. 아래 파일을 다운받아 아두이노 마이크로에 업로드합니다.

Volumcontrollermac.zip
0.00MB

 

한가지 주의할 점이 아두이노 예제에서 제공하는 keyboard.h에서는 볼륨조절하는 키가 구현되어 있지 않습니다. 그래서 아래 파일을 원시 헤더파일을 수정해야합니다.

keyboard_headerfiles.zip
0.00MB

 

mac 기준으로 볼때 파인더 -> 폴더로 이동 -> /Users/xxx/Library/  -> Arduino15 -> libraries -> Keyboard -> src 에 들어가서 위 파일을 덮어 씌웁니다.

 

코드를 아두이노에 업로드하고 제대로 동작되는지 테스트 해봅니다.

볼륨컨트롤러 기능 테스트

 

기본 기능이 잘 작동되면 납땜 작업을 진행하고, 조립하여 완성합니다.

 

전자회로 작업

 

완성된 3D Printed 볼륨컨트롤러

 

 

이제 키보드를 만들때 볼륨 노브를 넣어줄 준비는 다 되었습니다. 다음 프로젝트에서도 더 빌드업된 디바이스로 찾아뵙겠습니다.

 

긴글 읽어 주셔서 감사합니다.