3축 가속도 센서와 블루투스, 그리고 IR 센서를 통한 위치 인식 기능으로 무장한 Wiimote의 활용도는 끝이 없는 것 같다. 급기야는 이를 활용한 소프트웨어를 상용으로 판매하는 회사가 등장하였다!

앞서 소개한 wiimote tracking 관련 동영상들(동영상 보기1, 동영상 보기2, 동영상 보기 3)에서는 IR 센서를 이용하여 wiimote 위치 파악을 통한 활용예라면 오늘 소개하는 Live Move라는 제품은 3축 가속도 센서의 출력을 이용하여 동작(gesture)을 인식하는 기술을 적용하는 예가 되겠다.

동영상은 제품은 소개하는 형식으로 되어 있어 조금 지루하다.
part 1에서는 자신이 특정 동작을 등록한 후 여러 동작을 취하면 등록한 동작와 매칭을 통해 제스처를 인식하는 과정을 보여준다.
part 2에서는 눈처크까지 이동한 좀 더 복잡한 제스처 인식을 보여주고, 마지막으로 part 3에서는 이러한 기능들을 이용하여 간단한 게임을 보여준다. 예전 타이핑 연습할 때 많이 했던 게임과 유사하게 숫자가 하늘에서 떨어지고 wiimote로 재빨리 숫자를 쓰면 해당 숫자가 없어지고, 숫자가 바닥까지 떨어지면 게임이 끝난다.



조금 지루하고 동작 원리가 잘 이해가 안된다면 아래 동영상이 더 낫다.

신고
Posted by getcome
2007년 과제/MIC2007.11.06 15:53
블루투스 모듈 내부에 내장되어 있는 오디오 앰프를 이용해서 스피커를 울릴려고 했는데, 테스트해 보니 너무 소리가 작습니다. 이어폰에 연결해서 테스트할 때는 몰랐는데, 막상 8ohm짜리 스피커를 하나 연결해서 출력하려고 했더니 모기 소리보다도 작게 나오네요... 흠... 프로그램적으로 뭔가 바꾸면 될 것 같기도 한데, 어차피 내장 앰프 출력에 기대하기는 무리수 인 것 같네요.

부랴부랴 부품통을 뒤져보니 학부때 사용했던 LM386이 있습니다. 간만에 보는 DIP 타입 패키지입니다. 게인 적당히 설정한 후 후딱 납땜해 보니 증폭은 그럭저럭 됩니다만 노이즈가 꽤 심합니다. ETRI에 납품 일자는 이틀밖에 안 남았고, 어떻하든 해결해야 하니 PCB를 뜨면 노이즈가 없어지지 않을까 싶어 조그맣게 PCB를 만들었습니다.
사용자 삽입 이미지

실패로 끝난 저가형 오디오 앰프 보드

PCB를 하루만에 급행으로 뽑아내고 테스트를 하려고 오디오 신호를 인가하는 순간... 컥... 스피커를 울리는 굉음... 캐패시터도 그렇고 모든 것들이 아날로그 회로에 적합하지 않았지만 그래도 이정도로 엉망인 성능을 보여줄 주는 몰랐습니다. 배신 때리는 LM386을 버려둔 채 ETRI에 데모를 하러 갔고, 스피커 출력은 좀 더 시간을 주십사 부탁을 했습니다.

자, 좀 더 시간을 받아서 차분하게 설계할 수 있었는데... 어떤 칩으로 할까요? 그래봤자 일주일 이내에 PCB까지 뽑아내야 하니 이런저런 칩을 선정해서 수급하기란 어려운 일입니다. 다시 이드의 만능 부품 상자를 뒤져야죠. 오호라~. 몇 년전 휴머노이드에서 음성을 출력할 때 사용했던 TI사의 TPA2000 칩이 한 reel로 남아있네요. 보드도 만들어서 잘 사용했던 기억이 있어 그때 만들었던 보드가 어디 없나 뒤져봤지만 3년이 지난 과거일인지라 보드는 못 찾았습니다. 그럼... 또 PCB를 뜨는 수 밖에... T_T;

PCB 발주내고, PCB 받고, 납땜하고, 심호흡 크게 한 번 한 후, 블루투스 모듈과 페어링을 한 후 PC에서 음악을 출력해 보았습니다. 히힛~. 깨끗한 음질로 출력됩니다.

사용자 삽입 이미지

성공한 Class-D급 오디오 앰프


자, 모두 11개를 시집보내야 합니다. 세어 볼까요?
사용자 삽입 이미지

오디오 앰프 떼거지들


마지막으로 동영상 데모도 올립니다. PC에서 클릭하면 Bluetooth로 전달되고, bluetooth 모듈은 다시 이 오디오 앰프와 연결되어 스피커에서 출력됩니다. 생각해보니, 블루투스 무선 스피커 모듈을 만든 셈이 되었군요. 남은 부품들을 긁어모아서 무선 스피커 셋트나 하나 만들어야겠습니다.


신고
Posted by getcome
2007년 과제/MIC2007.10.22 12:16
MIC 과제 종료가 이제 이틀 앞으로 다가왔습니다.
미친 듯이 일정을 기한 안에 마무리하기 위해 일하고 있지만 쉽지는 않습니다. 스트레스 때문에 뒷목이 뻐근한 게 아무래도 몸 어딘가가 또 축이 나야 이 과제가 마무리 될려나 봅니다.

MIC 과제에서는 bluetooth 모듈을 많이 사용하기 때문에 이전에 사다 쓰다가 이번 기회에 아예 만들어 버렸습니다. 충분한 동작은 아직 못시켜봤지만 어쨌건 스택을 굽고, paring 하는 것은 그럭저럭 되고 있습니다. 사진은 이번 과제에서 사용할 녀석들을 굽기 전에 모아 놓고 단체 촬영을 해 봤습니다. 다들 다른 주인들 말 잘 듣고 쓸모 있는 곳에서 사용되길 바랄 뿐입니다.

스택을 직접 구워서 사용해 보니 판매용보다 절반 정도 쌉니다. 이번에 15개가 필요해서 만들었으니 상용품을 사서 쓸 때에 비하면 PCB 제작 가격 정도는 이번 기회에 뽑았네요. 추후 이 녀석으로 어떤 재미있는 것이 있을 까 고민해 봐야겠습니다. 당장은 MIC 과제 마무리부터 해야 할 것 같구요.
사용자 삽입 이미지

신고
Posted by getcome
2007년 과제/MIC2007.10.21 05:05
이드의 노트북에는 우측 하단에 bluetooth 아이콘이 떠서 블루투스 장치를 검색하거나 기타 설정을 할 때 사용했었는데, ETRI에서 받아온 노트북에는 아무리 찾아봐도 이 아이콘이 보이지 않는 것입니다.

끙끙거리고 한 시간 고민하다가 google의 도움으로 해결책을 찾았습니다. bthprops.cpl 이군요. 도대체 cpl 확장자가 뭘까 다시 검색해 보니 실행 파일 중에서 XP의 제어판에 들어가는 프로그램은 확장자가 CPL 이라는군요. 즉, 이 프로그램은 제어판에서도 찾아볼 수 있다는 뜻인데 어디 붙어있었나 다시 검색해 보니 '프린터 및 기타 하드웨어' 항목에서 우측의 '참고 항목'에 조그마하게 나와있네요. 이걸 어떻게 일일히 기억해서 찾아다니라고...

어쨌건 아래처럼 하면 원래대로 우측 하단 트레이에 bluetooth 아이콘을 보이게 만들 수 있습니다.

사용자 삽입 이미지

블루투스 프로그램을 직접 실행


사용자 삽입 이미지

설정 창 - 붉은 색 화살표의 체크 박스를 표시해 두면 우측 트레이에 아이콘이 등장한다.


자, 이제 우측 하단에 있는 아이콘을 통해 블루투스 장비를 검색하고 추가할 수 있다.

ETRI의 MIC 과제도 이제 막바지로 치닫는 것 같습니다. 빨랑 끝내고 좀 쉬었으면 좋겠네요.

더 자세한 내용은 http://support.microsoft.com/kb/883258/ko 를 참고하면 됩니다.
신고
Posted by getcome
2007년 과제/MIC2007.08.17 17:04
전체적으로 감이 잘 안오니 BlueLab software Release Note를 읽어보자. 60페이지짜리다. 간식 창고에서 썬칩 하나 꺼내서 까고, 편안하게 앉아서 document를 읽기 시작한다.

뭐야, 30 페이지쯤 지나고 나니 전부 Errata 들이다. 결국 별 내용은 없다.
건진 내용은 내부 구조가 Virtual machine 형태로 되어 있고(이건 CSR이 잘 채택한 전략인 것 같다), 사용자는 VM과 연결하면 되고 나머지 기본 기능은 전부 CSR에서 제공해 준다는 것이다. 에잇. 썬칩 인증샷이나 하나 찍자. ^^;
사용자 삽입 이미지

첫째날 작업 환경


그건 그렇고, 대체 플래시는 어떻게 굽냐 말이다~~~~. 결국 CSR 홈페이지를 뒤지는 수 밖에 없을 것 같다.

5분 경과...

그렇군. BlueFlash 라는 유틸리티가 있고, 프린터 포트를 통해 SPI 방식으로 굽는 것 같다. ISP 장비를 하나 만들어야 할 것 같다. 휴, 실시간으로 개발하기 힘들군. ^^;
잠시 쉬었다가 ISP 장비 납땜이나 해야겠다.

신고
Posted by getcome
2007년 과제/MIC2007.08.17 16:35
자, 아무 예제나 열어서 컴파일이 되는지 확인해 보자. 어떤 녀석을 컴파일 해야 에러 메시지 없이 화려하게 첫 테이프를 끊을 수 있을까? 과제에서 stereo headset 기능을 지원해야 하니까 이 기능을 컴파일 해 보자.

Project -> Open Workspace를 선택한 후, BlueLab\apps\stereo_headset 폴더에서 stereo_headset.xiw 파일을 선택했다. 확장자가 xiw라... 독특하군. 도대체 뭐의 약자일까? 일단 무작정 불러 들인다음, Build->Build 를 선택한다. Build 메시지 창에는 잔뜩 컴파일 메시지가 출력되고, 별다른 에러 메시지 없이 빌드와 완료됐다는 메시지를 볼 수 있었다. 할렐루야~~

사용자 삽입 이미지

BlueLab에서 빌드 테스트


일단 예제 코드가 별문제없이 빌드가 되는 것을 보니 폴더 패스나 기타 사항들이 별 문제없이 설정되었나 보다. 간만에 한 방에 깔리는 크로스 컴파일러 환경을 맛보는군.
자, 그럼 이제 이 코드를 CSR bluecore로 어떻게 옮기나?
신고
Posted by getcome
2007년 과제/MIC2007.08.17 16:25
2007년 8월 17일 현재 최신 버전은 3.6.2 이다.
15MB 짜리 BlueLab-3.6.2-release.exe 파일을 실행시키면, 다음과 같은 화면이 나온다.
사용자 삽입 이미지

BlueLab 설치 - 컴파일 모습


흠... 이건 또 뭔가? 뿌리는 메시지를 보아하니 GCC와 그 일당들이 컴파일 될 때 뿌리는 메시지와 유사하다. 자세히 보니 그럼 그렇지. GCC--lib의 흔적들이 보인다. 일단 기다려보자. 꽤 최신의 노트북에 램도 확장할 수 있는 대로 확장해 놓은 개발 머신임에도 불구하고 3분 정도 걸린다. 다 설치가 되었는지, 자꾸 제대로 쓰고 싶으면 컴퓨터를 껐다가 켜란다.
사용자 삽입 이미지

BlueLab 설치 완료


뭐, 이드는 말 잘 듣는다. 까짓거 한 번 꺼주었다가 켜주자.
바탕 화면에 뭔가 지저분하게 아이콘이 생기는 것을 싫어하지만 재부팅하니 바탕화면에 다음과 같은 아이콘이 생겼다.
사용자 삽입 이미지

BlueLab 아이콘

무작정 아이콘을 더블 클릭해서 실행시켜 보기 전에 폴더 구조를 한 번 살펴보자. 설치할 때 default folder로 c:\BlueLab에 설치되도록 되어 있었다. 폴더 내용을 보니 쓸만한 예제 코드가 들어있을 것으로 보이는 폴더 이름들이 보인다. 슬슬 흥분되기 시작하는군.
사용자 삽입 이미지

BlueLab 폴더 구조


자, 이제 BlueLab을 실행시켜 보자.
그럭저럭 쓸만해 보이는 통합 개발환경 창이 아래 그림처럼 뜬다.
사용자 삽입 이미지

BlueLab 실행 첫 화면


흠.. 시작이 반이라는데, 일단 시작했으니 절반은 한 것 같다. ^^;
잘했다. 이드. 잠깐 쉬자.
신고
Posted by getcome
2007년 과제/MIC2007.08.17 16:09
2000년 초부터 지긋지긋하게 쫒아다니던 블루투스 관련 개발 업무를 이제 더이상 도망갈 수가 없을 지경까지 나를 막다른 곳으로 몰아세웠다. 임베디드 시스템에 RF를 써야 할 경우 BiM 모듈로 도망가거나 Zigbee RF를 써서 도망다녔는데, 이제 client가 아예 bluetooth를 써 달라고 못박은 것이다. 흠... 어쩔 수 없지...

우선 관련 도서를 검색해서 기초 지식을 쌓는다. 어쨌거나 맨 땅에 헤딩할 때는 책에서 시작하는 것이 최고다. bluetooth로 쓸만한 책이 딱 한 권 검색된다. 교보문고가 가까워서 달려가 책 내용을 읽어보니 굳이 살 필요가 있을까 싶다. 일단 서서 다 읽었다. 대충 blueooth 동네의 흐름은 파악했고...

시장 분위기를 보니 2007년은 CSR 사의 압도적인 승리인 것 같다. 많은 업체가 난립했지만 대강 CSR이 major로 등극했다는 점에 반론을 펼치는 사람은 없을 것 같다. 그럼 칩셋은 CSR사 제품인 bluecore로 선정하고...

의뢰받은 일은 기본 stack으로는 처리를 할 수가 없다. bluetooth module의 firmware와 stack을 다시 짜야하는데, 이정도 일은 대강 얼마받나 싶어 국내 블루투스 전문 업체라고 표방하는 곳에 전화를 걸어서 일 양을 대강 설명하고 견적을 받았더니... 후덜덜... 그렌저 한 대 값이 견적으로 나왔다. 흠... 외주를 줘서 진행할 수는 없는 상황이고, 그러면 직접 하는 수 밖에 없는데... CSR사 개발 환경을 구성하기 위해서는 BlueLab이라는 프로그램을 "구매" 해야만 한다. 이것도 역시 견적을 받아보니 중고 아반테값이 나온다. 하지만 어쩔수 없다. 어둠의 경로로 구하기 보다는 사야될 것은 사주자는 것이 우리 랩의 모토이므로... 팀장 재량으로 눈 한 번 질끈 감고 질렀다.

자, 오늘이 벌써 금요일이고, 다음주 화요일까지는 대충 스택을 만들어서 테스트를 완료해야 하는데 과연 4일만에 해 낼수 있을까?  이드의 급행 블루투스 개발기를 실시간으로 써 나갈려고 한다. 아무것도 없는 맨 바닥에서 4일만에 어디까지 갈 수 있는지 생중계로 확인하시길...

프로젝트 명: MIC (Multi-modal input device controller) 개발
의뢰처, 기간, 금액은 client 요구로 삭제. 어쨌건 후딱 해치워야 함.
해야 할 일: 블루투스로 음성을 입출력이 가능하고, 초음파 모터 16개를 제어하고, 디지털 IO가 있어 다른 블루투스 장비에서 SPP 스택으로 날린 데이터를 받아 적절한 동작을 취하는 제어기 제작


신고
Posted by getcome