오늘은 이상한 녀석을 소개시켜 드리고자 합니다.



겉모습을 보자면 우편함을 뒤집어 놓은 것입니다만, 몇 가지 특이한 기술이 적용된 음악재생기 입니다.
사운드 카드를 통해 디지탈 신호를 전달하고 이를 해석하여 본래의 디지탈 신호를 복원하는 기술을 통해 로봇을 제어하는 것인데요, 쉽게 말하면 사운드 카드용 모뎀을 만들어서 로봇제어에 사용하는 예를 보여드리겠습니다.

모뎀이 뭐냐고요? 

글쎄요... 다시 설명하자면, 디지탈 신호를 전화선 같은 교류 음성 라인용으로 신호로 변환시킨 후, 수신측에서는 다시 이를 역변환하여 본래의 신호를 복원해주는 기기입니다. Modulator(변조) + DeModulator(복조)의 합성어라고 알고있습니다. 90년대 PC통신 문화를 지탱해왔다가 지금은 사라져버린 역사적인 기기랍니다. 자세한건 고글,네버,담,야호 등에게 물어보시기 바랍니다.

신호 전달 단계

디지탈신호 -> [사운드카드] -> 신호 포함된 사운드파형 -> [신호변환기] -> 디지탈신호 -> [임베디드 기기]

사운드카드와 신호변환기가 필요하며, 소프트웨어는 사운드 파형을 제어하여 디지탈 신호를 실어주는 프로그램과,
이 사운드 파형에서 디지탈 신호를 해석하는 프로그램이 필요합니다.


자 이제부터 사운드 통신을 우체통 뮤직 로봇 (MP3Play Robot)에 적용한 예를 보여드리겠습니다.




동영상. 뮤직로봇 작동만 하는 동영상

아래는 관련 기술을 설명하는 동영상입니다.  영상품질이 매우 안좋습니다. 양해바랍니다.

음악들려주는 우편함 로봇 동영상 시연 내용 정리

. 외형을 둘러보면 전원선과 사운드 통신선이 있습니다.
. 전원을 켜면 자동으로 음악이 재생되는 상태입니다.
. 현재는, 주변상황에 반응하지 않는 상태입니다.

. PC측 플래시 어플리케이션(리모컨제어기)을 실행합니다.
. 사운드 라인을 PC측 사운드 출력에 연결합니다.
. 플래시 어플내 버튼을 누르면 리모콘 제어가 가능합니다.

. 다음은 프로그래밍 환경(플래시 어플리케이션)을 뛰웁니다.
. 코드를 불러와서 컴파일하고 사운드카드를 통해 로봇으로 전송합니다.
. 이제부터는 로봇 내부의 센서와 버튼으로 작동가능합니다.

. 로봇의 양눈에 설치된 거리센서에 접근하면 프로그램된 기능이 수행됩니다.
. 현재는 재생/정지와 다음곡 듣기 기능이 프로그램되어 있습니다.
. 재생/정지가됩니다.
. Next 다음곡 재생하기가 됩니다.
. 버튼으로 트랙1번 재생도 가능합니다.

. 프로그램를 변경하여 전송하면 그에따라  다른 기능의 수행이 가능합니다.
. 제손이 너무 두꺼비 손 같네요 ㅡㅡ;;  양해바랍니다.



동영상. 세부 기술 소개 (사운드 통신 및 프로그래밍 기능)


응용 범위

플래시 및 기타 응용 프로그램에서의 임베디드기기 제어
MP3Player, Radio, PMP, Mobile Phone 등의 사운드출력가능한 모든기기에 적용 가능.


특장점

보통 로봇을 제어하거나 프로그래밍을 하려면,  시리얼 포트나 USB포트를 이용하게 됩니다. 이를 위해 별도의 하드웨어를 구입하거나 장착 및 설정하는 과정이 필요합니다.  사운드 통신선을 이용하면, 보셨듯이 사운드 출력 라인만 있으면 됩니다.
MP3Player나, 특히 휴대폰과 스마트폰에 응용이 가능합니다.  현재 안드로이드 폰에서 신호변환 출력이 정상 작동하는 것을 확인했습니다.  아이폰도 물론 가능합니다만,,, 제가 아이폰 개발환경이 없습니다 ;;;


제품화 아이디어 - Sound to Serial 변환기

Sound to Serial변환기란 시중에서 판매되고 있는 USB to Serial변환기와 유사한 용도로 사용할 수 있습니다. 차이점은 USB포트가 필요없으므로 사운드 출력이 가능한 모든 디지탈 기기에서 사용할 수 있다는 장점이 있습니다. 특히 모바일폰에 곧바로 적용 가능한 기술입니다. 가령 로봇제어에 3G네트웍이 필요할 경우, 로봇의 시리얼 포트와 휴대폰의 사운드출력 단자에 Sound to Serial 변환기를 꽂아주면 됩니다.  물론 적절한 프로그램이 구현되어야 합니다.  실용신안 등록까지 고려해본 기술입니다만, 상업적 가치는 글쎄요?? 입니다.  추가적으로 안드로이드폰으로 응용가능한 매우 재밌는 응용예가 있는데요, 어찌저찌해서 최신형 안드로이드폰이 생긴다면 그때 따로 보여드리도록 하겠습니다.


본 기술의 문제점

호환성: 대부분의 PC 사운드 카드에서 정상 작동하는데 간혹 사운드 음량이 너무 작거나, 기타 상황에 따라 인식이 안되는 경우가 있을수 있습니다. 하지만 이부분은 신호변환기를 보완하면 해결 될 수 있는 문제 같습니다.

속도: 보통 PC급 사운드 카드에서 지원하는 Sampling Rate이 44100Hz 이하이며,  이는 전송 데이타속도의 제한과 연계됩니다. 적은 값은 아니지만, 최근의 고속통신 디바이스들에 비하면 저속 통신만 지원 가능합니다.

단방향성: 현재 사운드 카드 출력 통신만(단방향) 개발했습니다.  하지만,  마이크 입력을 통해 반대 방향 입력도 가능합니다.




신호변환기

디지탈 신호를 사운드 파형으로 변환하고 사운드 신호에서 디지탈 신호로 변환해주는 회로를 간소화 하기 위한 기법을 사용하였으므로 신호변환을 위한 전자회로가 매우 단순합니다.  OPAmp와 저항 콘덴서 몇개면 가능합니다.  이보더 더 단순화 하여 트랜지스터 몇개로 구성하는 방법도 있습니다.  이정도 회로만으로도 MCU측에서 직접 해석 가능한 디지털 신호로 변환을 해줄 수 있습니다.  또는 신호변환기에 저사양 MCU를 장착하여 시리얼 통신 규약에 맞도록 변환시켜 줄 수 도 있는데, 그렇게 되면 바로 Sound to Serial 변환기가 됩니다.


변환기의 종류

Sound to TTL, Sound to Serial, USB Sound Card to TTL, USB Sound Card to Serial,,,
위와 같이 여러가지 용도별로 인터페이스 보드를 구성할 수 있습니다. 아래의 경우는 USB 사운드카드를 내장한 형태의 신혼변환기를 제작한 예입니다. 즉, PC에 내장된 사운드카드 대신 전용의 USB 사운드카드를 이용하는 예입니다.



사진. USB Sound Card to TTL 제작 예




+ Recent posts