DIY

[mk030](8) D4TRG 볼륨 조절기

안녕하세요.
미친듯한 폭염이 지나고 드디어 시원한 비가 좀 오네요.
요즘 포스트가 많이 늦어졌습니다.
바쁜 일도 있고(이것도 바쁜데;;) 미룬 것도 있고…

앞으로 좀 빡빡한 일정에 만들 거라 사진은 적어지고 영상 촬영도 힘들어지게 된 점 미리 양해 부탁드립니다.



저번에 로터리 인터페이스를 이용하여 볼륨 조절(하는 것을 숫자로 보여주는 것)을 구현했었습니다.
이번에는 실제로 볼륨을 조절해보았습니다.
이 부분을 LED 조절하는 아두이노에 넣으려고 계획하였지만,
그 아두이노의 처리량이 포화상태에 가까워지는 바람에 그나마 놀고(?) 있는 로터리 인터페이스에 포함시키기로 하였습니다.

디지털 가변저항을 이용하여 볼륨 조절기를 만들려고 하였으나,
최근에 FM62429라는 IC를 알게 되어서 바로 구입했습니다.
Datasheet: http://file1.dzsc.com/product/16/04/16/1106295_104145462.pdf

FM62429는 이번 상황과 같은 디지털 가변저항으로 볼륨을 조절하려는 애플리케이션에 특화된 IC입니다.
(M62429가 정식이고 FM62429는 저가형 클론입니다.)
시리얼 데이터 컨트롤을 해주면 데시벨 단위로 볼륨조절이 가능합니다.

필요한 대상은 스피커와 헤드셋 두 개이므로, 두 개의 FM62429를 이용하여 회로를 꾸며줍니다.

오른쪽 앞에 있는 4개의 핀으로 각 칩에 시리얼 데이터를 입력시켜주도록 합니다.
처음 만들고 노이즈가 너무 심해 원인을 찾아보니 FND 다이나믹 컨트롤 하는 펄스가 전원을 타고 그대로 올라오더군요.
노이즈 문제를 해결하기 위해 12V 입력에 7805를 이용하여 분리된 5V 전원을 만들어줍니다.
영상으로 조절하는 것을 남기고 싶었으나, 혼자서 촬영하기엔 좀 무리가 있어서 그냥 넘기겠습니다. 작동은 매우 잘 됩니다.



기존 로터리 인터페이스 회로의 위쪽 남는 공간에 회로를 추가적으로 꾸몄습니다.
LED 컨트롤 회로에 밝기 설정값을 전달하는 핀도 추가하였습니다.

추가적으로, 헤드셋을 꽂으면 볼륨 설정 대상이 자동으로 헤드셋으로 전환되는 기능을 넣기 위해 (왼쪽 위) 회로를 좀 더 구성했습니다.



사용하려는 헤드폰 잭에 플러그 삽입 감지를 위한 핀이 있습니다.
이 핀은 평소에 TIP 핀과 쇼트되어 있지만, 플러그를 삽입하면 분리됩니다.
회로를 위와 같이 구성하면 아두이노 등에서 디지털 신호로 플러그 삽입 여부를 읽을 수 있습니다.



감지해서 설정 대상 바꾸는 소스코드는 다음과 같이 간단하게 구현되어 있습니다.
감지 핀에 변경사항이 있으면 그때 실행이 되며,
설정 대상은 숫자로 선언되어 있어 digitalRead() 함수가 반환하는 0, 1 값을 그대로 대입하면 끝입니다.
저 부분은 일정 시간마다 한 번씩 반복적으로 실행됩니다.



헤드셋 감지가 잘 되는지 구성한 간단한 회로의 모습입니다.
나머지 부분은 로터리 인터페이스 회로쪽에 구성되어 있습니다.
뒤에 보이는 아두이노는 더미(아무 역할 없음)입니다.



헤드셋 감지가 잘 되는지 오실로스코프로 찍어보았습니다.
앞쪽에 5V, 12V SMPS가 전원을 공급해주고 있습니다.



플러그를 연결한 순간의 파형입니다.
파란색 파형이 떨어져 노란색 파형보다 낮아지면 빨간색 파형이 높아집니다.



플러그를 제거한 순간의 파형입니다.
파란색 파형이 치솟아 노란색 파형보다 높아지면 빨간색 파형이 낮아집니다.
이 빨간 파형을 아두이노에서 읽어 자동으로 설정 대상을 전환하게 만들어주면 됩니다.



후… 어마어마한 현장이군요.
여담으로 저기 사용한 나무 판이 D4TRG의 뒷판에 사용될 겁니다.
처음엔 꽤 넓은 공간이라 생각했으나, 회로 이것저것 넣으면 부족해질 수도 있겠네요.







끝.

Share