안드로이드 스마트폰 3.5파이 이어폰 단자의 스펙과 관련된 내용으로 이어폰에 있는 리모컨 버튼의 동작원리와 리모컨 버튼을 구현하는 테스트에 대한 내용입니다.
안드로이드폰에서 3.5파이 단자는 4극을 사용합니다. 4극 단자라 하면 그라운드 단자 1개에 이어폰의 왼쪽, 오른쪽 그리고 마이크 각각의 단자 1개씩 해서 총 4개의 극을 사용하는 걸 말합니다.
그런데 이어폰을 보면, 마이크 부분에 재생/일시정지, 볼륨 등을 컨트롤하는 버튼이 있는데 이미 4개의 이어폰단자는 모두 고유의 기능(스테레오 오디오 및 마이크 오디오 신호)으로 사용을 하고 있는 상황이라서 리모컨의 버튼은 어떤 방식으로 동작을 하는지 궁금해서 내용을 좀 찾아봤습니다.
위의 링크는 안드로이드 개발자를 위한 문서의 일부인데요. 여기에 이어폰에 있는 리모컨 버튼이 어떤식으로 안드로이드와 소통을 하는지 설명되어 있습니다. 이 문서에 따르면 마이크와 그라운드 사이의 저항값의 차이를 측정해서 총 4가지의 케이스를 구분하도록 정의하고 있습니다.
그러니까 이어폰에 있는 리모컨의 버튼은 마이크 단자와 병렬로 연결이 되어 있고 이 버튼의 누름에 따라서 달라지는 저항(정확히는 임피던스) 값을 측정해서 안드로이드가 어떤 버튼이 눌려졌는지 인식하는 원리하고 합니다.
그러니까 4극 중 마이크와 그라운드 단자사이의 저항 변화를 만들기 위해서 마이크와 4개의 저항이 병렬로 연결된 그런 회로로 리모컨이 만들어져 있습니다.
4극 단자는 그 맵핑에서 CTIA와 OMTP 라는 2가지 표준이 사용되고 있습니다. 안드로이드는 법적인 규제가 없는 한 CTIA를 기본으로 채택한다고 되어있습니다. 하지만 두 표준의 차이점은 마이크와 그라운드 단자의 위치만 서로 반대라는 거 기 때문에 버튼 상태를 확인하는 기능에는 아무런 영향이 없습니다.
그리고 마이크단자의 저항을 측정해보면 버튼의 상태에 따라 그 값이 달라지는 걸 알 수 있습니다.
제가 테스트한 이어폰은 3개 버튼이 있는 이어폰으로 갤럭시S6 구매 시 포함되어 있었던 번들 이어폰입니다. 마이크와 GND단자 사이의 저항을 측정해보면 아무 버튼도 누르지 않은 상태에서는 연결되지 않은 생태이고 가운데 재생/일시정지 버튼을 눌렀을 때는 약 53Ω의 저항값이 나오며 볼륨 업과 다운은 각각 273Ω, 629Ω이 측정되었습니다. 이렇게 저항값의 차이로 버튼의 기능이 구분되어 진다는것을 확인할 수 있습니다.
실제로 임의의 저항을 연결해서 원하는 버튼 기능을 구현할수도 있을 것 같아서 이것도 시험해 봤습니다.
안 쓰는 4극 단자 이어폰을 과감히 잘라서 GND와 마이크 단자만 연결하고 가변저항을 연결해서 몇몇 저항값에서 핸드폰이 어떤 동작으로 반응을 하는지 확인해 봤습니다.
제가 가지고 있는 가변저항은 미세한 저항 조절이 불가능해서 정확한 데이터가 만들어지진 않았지만 대충 결과를 정리해보니 아래 표와 같은 모습이 되었습니다. 그리고 갤럭시 S6 모델에서 테스트한 결과이니 참고해주세요.
약 30~80Ω에서는 재생 일시정지 버튼으로 작동을 했었습니다. 그리고 약 100Ω 근처에서는 반응을 하지 않는 구간이 있었고 저항을 조금더 올려서 110Ω에서는 OK Google 호출버튼으로 작동했습니다. 계속 저항을 올려서 170Ω에서부터는 볼륨+ 버튼이 되었습니다. OK Google 버튼과 볼륨+ 버튼 영역은 빈공간이 없이 인접해 있었는지 160~170Ω사이에서는 두개 기능이 동시에 동작하기도 하는 결과가 나타났습니다. 그리고 355Ω부터는 소리를 낮추는 버튼으로 동작했고 700Ω 이상에서는 검색 버튼으로 동작했습니다. 지금까지 흔히 볼수 있었던 이어폰은 3버튼 리모컨이여서 3가지의 구분만 될줄 알았는데 안드로이드에서는 총 5가지 버튼을 구분할 수 있도록 설계되어 있는것 같습니다.
간단하면서도 재미있는 새로운 정보인것 같습니다. 그리고 제가 최근에 고민하고 있던 부분에 응용을 할 수 있을것 같아서 기대도 되고 있는데요. 바로 3D프린터와 같이 사용하는겁니다.
3D 프린터로 출력하는 동안 Time-lapse영상을 만들기 위해서 3D 프린터와 카메라를 연동하는 방법을 고민하고 있었는데요. 이 방법을 이용하면 이어폰 단자를 통해서 핸드폰 카메라를 트리거링 하는데 사용할 수 있을것 같고 핸드폰 카메라의 화질이 나쁘지 않으니까 괜찮을 결과를 만들수도 있을것 같아서 빨리 해보고 싶네요.
끝!
'Tips' 카테고리의 다른 글
애드센스 자동광고, 원치않는 위치에 광고노출 막기 (0) | 2020.09.16 |
---|---|
윈도우에서 Ctrl+Space로 한/영 전환 - autohotkey (2) | 2020.09.14 |
알리익스프레스, 배송기간과 국내배송중 배송추적 방법 (4) | 2020.07.08 |
ALT 코드 사용법 (+ 유니코드 입력 활성화) (0) | 2020.06.12 |
댓글