Brave Men


You are BRAVE MEN!!!

삐걱삐걱


잃어버린 10년..

있는 놈은 항상 있지
없는 놈은 항상 없지
돈 없으면 살기 힘든 세상이예요
백 없어도 살기 힘든 세상이예요
착하게만 살기도 힘든 세상이예요
착하게만 살기엔 아픔이 너무 많아요

난 콩사탕이 싫어요


그 잃어버린 10년동안 이런 노래는 전혀 공감이 가지 않았었는데...

이제 자야지...


즐거운 연휴...
무슨 이유인지는 잘 모르겠으나...
내 물리적인 신체가 요구하는 충분한 수면을 취하지 못했다...

잠을 많이 자고 싶어도 해야 할 일이 참 많다..
I'm so tired...
머리가 지끈지끈..

새벽 3시... 이틀만에 샤워를 하며 빨갛게 충혈된 내 눈을 보았다.
이제 자야겠다..

ps. Please tell me if the above picture is copyrighted, I'll remove it.
I'm sorry that I could not afford to check this out... Because I'm so tired...

벌써 1년...

스틱 놓은지가 벌써 일년...
하고도 수개월이 지났군...
업데이트 되던 드럼악보 채보 페이지도 정지된지 오래고...
언제즘 스틱을 다시 잡을 수 있을까...

간만의 글쓰기


오늘도 간만에 들어와 보는군...

여전히 잠은 모자라고...
여전히 할 일은 많고...
여전히 뭔가 부족하고...
여전히 새롭고...
여전히 어렵고...
여전히 모르겠고...
그리고,
여전히 가시지 않는 갈증...

이 곳에 블로그를 만들기전, 사용하던 내 블로그의 백업 본을 보다가
우연히 발견한, 내가 수년전 썼던 글귀가 눈에 들어 온다.

'감성 에너지'...

여전히 가시지 않는 갈증과 '감성 에너지'...

20대 때나 하던 이런 쓰잘대기 없는 공상들을 30대 중반이 되어서도 한다는게
내가 철이 덜든 것인지, 아니면 배부르고 등따시니 생겨난 사치스런 여유인지
잘 모르겠다. 쩝쩝..

눈만 뜨면 방바닥을 기어댕기는 지금의 내 딸래미가
20대가 되고 30대가 되어 내가 하던 고민들을 또 하게 될까?
끝없는 갈증으로, 사그라 들지 않는 감성 에너지로,
그 고민의 해답을 찾았으면 좋겠구나.

네 눈높이 보다 조금더 위에 놓여 있던,
빨갛고 노랗고 파란 그 무언가를 잡기위해
열심히 팔을 뻗치던 지금의 네 모습을 꼭 간직했으면 좋겠다.

USB 장난감 (TUSB3210) 만들기

PC를 이용해 외부세계와 데이터를 주고 받는 통로는 굉장히 많다.
그중 RS-232나 병렬포트를 이용해 Embedded System용 ISP나 Byte blaster,
JTAG 에뮬레이터등을 자작해 써왔지만 어느새 부턴가 이 구식의 저속
인테페이스가 PC에서 사라지고 있다.

ISA 버스에서 동작하는 내 롬라이터, 병렬포트를 사용해 만든 롬 에뮬레이터,
AVR프로그래머, 바이트블라스터, Altera 프로그래머, Xilinx 프로그래머, ARM용
JTAG 에뮬레이터, 직렬포트를 이용해 만든 PIC 프로그래머 등등...

헝그리 개발자라면 하나씩 가지고 있을 법한 자작 개발 하드웨어 툴들이
무용지물이 되어 가고 있다.. 열심히 땜질해서 만들어 놓은 것들인데.. 슬프다...

한참 늦었지만 이제 USB를 써보자..

PC에 널리고 널린 USB 자원을 쓸려면 USB 클라이언트 디바이스가 필요하다.
시중에 USB 장치를 개발 할 수 있는 킷트들은 많이 나와있다. 돈주고 사면
기술 지원도 빠방하게 잘 해준다..
나같이 돈이 궁한 개발자는 이거 살돈도 궁하다.. 크크..
그래서 만들었다..

우선 ti사 홈페이지에 들어가서 USB 클라이언트 디바이스 샘플을 구한다.
얘네들은 자기들이 만든 디바이스중 일부를 무료 샘플로 제공한다.
배송비까지 직접 부담하고 보내준다.. 참 고마운 회사다.. 흐흐..

우선 TUSB3210이라는 USB 클라이언트 디바이스와 3.3V 레귤레이터를
샘플로 신청해서 받는다.

그리고 회로 설계...
일단 USB 디바이스를 이용해 거창하게 뭘 하려 하기보단 우선 윈도우즈 어플리케이션,
윈도우즈 디바이스 드라이버 그리고 TUSB3210 펌웨어 연동을 LED로 기본 테스트를 진행 할 수 있게
간단하게 회로를 꾸민다.
TUSB3210에 UART 단자가 있으니 뽑아내서 디버깅 용으로 활용 하면 디바이스 드라이버 개발 등이
훨씬 수월해 질 것이다.

회로도가 완성이 되었으면 아트웍을 진행 한다. 열심히...
근데 TUSB3210 풋프린트 라이브러리를 발로 만들어서 핀 간격이 좀 안맞는다..
이 문제는 다음 제작때 수정.

아트웍이 다되면 레이저프린터와 다리미를 이용한 최첨단 열전사 기법으로
패턴을 동판 PCB로 옮긴다.
눈치가 빠른 분이라면 알아 채셨겠지만 보시다 시피 처음 제작시 반전하여 인쇄하지 않아
실패했던 사진이다. 수정후 찍은 사진이 없어 이걸로 퉁~~

패턴이 옮겨진 동판 PCB를 에칭한다. (해골 그림이 예술이군...)

에칭이 완료되고 나면 단락검사를 해서 끊어졌으면
붙여주고 붙어있으면 떼어 준다.

부품 삽입 (구멍 뚫을 드릴날이 없어서 그냥 위에다 붙일 수 있게 아트웍 했다, 아~ 이 가난..)

부품 삽입후 PC USB단자에 바로 들이대지 말고
외부 전원으로 5V만 인가해서 전원부 검사를 먼저 수행 한다.
전원 검사가 끝나면 PC에 연결해서 새로운 장치가 인식이 되는지 본다.

TUSB3210 디바이스는 내부에 8051 코어가 들어 있으며 8051코어용 펌웨어는
램에 저장된다. 램에 저장되어 실행되는 펌웨어는 USB를 통해 다운로드 할 수 도 있고
외부에 시리얼 EEPROM을 달아 그것을 이용해 넣어 줄 수 도있다.

USB를 통해 펌웨어를 다운로드 할 경우 TUSB3210내부에 기본적으로 박혀있는 VID/PID를 사용하며
직접 만들어서 써도 되지만 TI사에서 제공하는 apploader라는게 있다 (ti홈페이지에서 다운로드가능).
요놈이 하는 일은 TUSB3210에 디폴트로 내부 롬에 박혀있는 VID/PID를 이용해 드라이버를 인스톨하고
내부 8051코어용 펌웨어를 다운로드만 해주는 역할을 한다.
그러니 개발자는 8051코어용 펌웨어만 만들어서 적절한 위치 (c:\windows\system32\drivers)에 복사만 해주면
TUSB3210을 USB에 꽂을 때마다 다운로드 해준다.

준비가 됐으니 코딩을 시작 하자.
코딩 순서는 TUSB3210내부 8051코어용 펌웨어, 디바이스 드라이버, 어플리케이션 순으로 한다.

8051코어용 펌웨어 코딩을 할려면 TUSB3210 데이터 시트를 비롯해 관련 문서들을 무쟈게
찾아 봐야 한다.

윈도우즈용 디바이스 드라이버 코딩을 할려면 관련 문서들과 자료들을 무쟈게x153배 봐야 한다.
(리눅스 디바이스 드라이버보다 배는 복잡한게 윈도우즈 디바이스 드라이버 모델인것 같다)

어플리케이션 코딩을 할려면... 음...

음...
잠시 눈을 감았다 뜨니 요놈이 떡하고 동작을 한다..
허허 세상에 이런일이...

깜빡이는 2개 LED중 왼쪽은 8051코어 자체적으로 구동하는 것이고
오른쪽 2초 주기로 깜빡이는 LED는 어플리케이션 -> 디바이스 드라이버 -> USB bus -> TUSB3210의
길을 따라 움직이는 제어 패킷으로 구동되는 것이다.

개발 PC의 좌상단은 TUSB3210의 UART를 이용해 TUSB3210의 내부 8051코어의 디버깅 메시지 모니터링용이고
화면 좌하단은 dbgview를 이용한 디바이스 드라이버의 디버깅 메시지 모니터링 용이다.
오른쪽 검은 창은 3가지 소스(app,sys,firmware) 빌드 겸 어플리케이션 디버깅 메시지 모니터링용이다.

참 쉽죠?

그 때 그 순간...



지난 그 시절로 돌아 가고픈 사람들의 이야기...
다시, 학창 시절, 1년전 그때, 10년전 그때, 그리고 내가 그립던 그때...
그 시절로 돌아 가고픈 이야기들...

글쎄..
왜 나는 그때 그 시절로 가고 싶지 않을까?...

뭣 모르고 그냥 지냈던 초등생 시절...
뭔가 좀 알아 가는 중학생 시절...
머리 굵어지는 고등학생 시절...
그리고 내가 누군지 고민하던 대학생 시절...
방황하며 지냈던 내 대학원생 시절...

그 어느때라도 난 돌아 가고 싶지 않다...

그 때로 절대 갈 수 없다는 지극한 현실주의적 때문일까?
징그럽게 열심히 살았던 기억 때문 일까?
아니면 좋지 않았던 일들 때문일까?

뭔가 이루고 싶었지만 뜻대로 되지 않았고
내 속에 꿈꾸던 이상이 있었지만 현실은 용납하지 않았으며
내가 요구했으나 들어 주지 않았던 그 시절들....

아쉬움도 많았고, 후회도 많이 남지만,
나는 그 지긋지긋한 내 젊은 시절, 내 과거로 다시 돌아 가고 싶지는 않다...
글쎄...
다시 너에게 묻고 싶구나..

왜 일까?...




어느날 우연히 검색된 내 예전 기록을 보며...

펜탁스 K-r 배터리 자작

카메라 배터리가 오래 못간다..
모델이 같은 휴대폰 배터리 2개 붙여서 또 만들었다..

충전기는 전에 만든거 그대로 쓰면 되고..
http://undergnak.blogspot.com/2009/01/e-400e-410e-420.html

스피커 뻘짓...

집에 있는 TV가 패널은 대따 좋은데 소리는 대따 안좋다.
그래서 타워형 스피커를 하나 샀다..
근데 당연히 스피커면 2개가 한셋트 인데 받아보니
타워 스피커 한개가 한셋트다.
뭐 이런 @@#%$#$!@&*가 다 있나?..
판매몰을 자세히 보니 스피커 타워 한개가 한셋트 맞다.
광고 사진에는 2개인데 이게 자세히 봐야 알 수 있게 해놨다..
한개가 한셋트면 자세히라도 써주던가.
이거 뭐 기만하는것도 아니고...
팔아 버릴려고 중고 시장에 내놔도 안팔린다.. 된장 맞을...

그래서 그냥 쓰기로 했다..
근데 TV랑 연결해서 쓸라니 불편하다.
리모컨 방식이라 TV켜고 스피커 따로 켜고,
켜지고 나면 TV와 연결된 AUX신호 선택해줘야 하고,
볼륨 정보도 기억이 안되어 켤때마다 볼륨값이 초기화 되는터라
TV앰프의 화이트 노이즈가 크게 들린다.

그래서 만들었다.
이름하야 마스타 컨트로라.
전원이 인가되면 자동으로 켜고 AUX로 입력을 선택한후
불륨을 8단계 낮추어 주도록 했다.

처음 계획은 TV의 Composite신호를 받아서 비디오 시그널이 있을때만
켜지도록 할려고 했는데 차동앰프에 필터같은거 끼워 넣고 테스트하고 해야 하는터라
만들기 귀찮아서 뺐다. 그냥 전원 들어가면 자동으로 켜지도록 했다.
그리고 볼륨 컨트롤은 볼륨 버튼을 직접 드라이브 해서 구현 하려고 했는데
볼륨 증가와 불륨 감소 신호가 한개로 되어 있고 이걸 A/D 컨버팅 해서
VOL+와 VOL-를 구분하는 구조라 VOL-전압을 맞추기 이 또한 귀찮아서
리모트 컨트롤러 수신부 출력 신호를 직접 드라이브 하기로 했다.

예전에 DVD리모컨 신호를 분석하기 위해 만들었던 IR 신호 분석기를 사용해
동봉된 리모컨의 전원과 AUX 선택, 그리고 VOL-버튼의 적외선
신호를 뽑아 embedded controller (PIC16F676)에 심어 넣었다.

일단 분해

메인 PCB 뒷면을 보면 5V와 접지가 있고 REM이 보인다. REM이 리모컨 수신부의
출력 단자이므로 이걸 드라이브 하면 되고 전원이 켜졌는지는 OFFLED 신호를
찍어보면 알 수 있다 (전원 ON시 0V, 전원 OFF시 5V).

펌웨어 코딩을 해서 넣고 배선후 장착된 모습 (사진 왼쪽 조그만한 보드).
사진에는 가변저항과 Tr.이 붙어 있는데 신호 테스트를 위해 삽질한 부속물들이며
실제 사용 하지는 않음.

빌드된 hex파일과 함께 제작한 소스를 배포합니다.
분석하여 자유롭게 사용하시기 바랍니다 (PIC C compiler로 빌드)
소스코드 다운로드

저와 같이 쇼핑몰 정보를 꼼꼼히 보지않은 피해자(?)를 위해
스피커 달랑 한개가 한셋트인 어처구니 없는 스피커 모델을
정확하게 알려주고자 합니다. IT-602 (iTower Docking Speaker).
구매 하실때 참고 하시길 바랍니다.

펜탁스/삼성 DSLR 무선 리모컨 자작

계속되는 뻘짓거리들..
이번엔 사용중인 GX-10의 무선 리모컨을 만들었다..
만드는김에 2/5/10/30초 인터벌 촬영기능도 넣었다...
배터리는 CR2025 (160~170mAh).
IR LED는 100mA로 설계하였으며 38KHz 캐리어 주파수에
1회 발신시 약 10ms동안 On이 되므로 소비전력 0.56uAh
160mAh/0.56uAh= 약 288000회, 하루에 100회라면 약 7년...
상태 표시용으로 적색 LED를 넣었고 MCU에서 소비하는 전류가 있으니
대충 2~3년사용이 가능할듯 하다.

빌드된 hex파일과 함께 제작한 소스를 배포합니다.
분석하여 자유롭게 사용하시기 바랍니다 (PIC C compiler에서 빌드됨)
소스코드 다운로드

참고사이트
펜탁스 IR리모컨 제작 프로젝트: http://prcf.sourceforge.net

걷게 만들기... (Biped/Humanoid Robot)

2001년, 군제대후 대학 2학년에 복학하면서 처음으로 만들었던
2족 보행 알고리즘 개발용 시뮬레이터...
MFC에 막대기도 그리고 참 어설프기 그지없는 빈약하고 앙상한 다리들..ㅎㅎㅎ

그뒤 OpenGL이라는걸 알게 되면서 빈약하고 앙상한 다리를
통통하게 살찌워줌... 움하하...


2002년, 그래도 뭔가 부족해...
공중에서 허우적 대던 놈을 바닥에 내려 놓음...
근데 dynamics가 없어서 절대 네버, 넘어 지지 않음...
그전 버전의 다리가 너무 굵다는 핀잔을 듣고 좀 날씬하게 만듦.. 크크크..
캬~~ 이 환상적인 카메라 앵글..


시뮬레이션 해봤으니 이제 진짜로 되는지 봐야지..
되긴되는데 참... 여전히 안타깝군..


안타까운 그의 발걸음을 뒤로 하고 열심히 돈벌다
다시 로봇이 하고 싶어 대학원을 갔으나
걸어댕기는건 못하고 굴러댕기는거 하다가 세월 보내고
2008년 다시 제작한 2족 보행 시뮬레이션...
dynamics가 들어가니 더 안타까워지는 걸음 걸이..

2009년, 좀 빨라 졌다.. 흐흐흐..

걷다가 자빠지면 안되니
stabilizer도 만들어 넣어 주고..

2010년, 알고리즘이 얼추 되는것 같으니 또 되는지 봐야지..
실시간 OS: Embedded Linux-Xenomai
메인 프로세서: PXA270
서브 프로세서: TMS320F2812
내부 통신: Realtime CAN/SPI with RTDM
원격 제어용 통신: Non-realtime bluetooth (UMPC)
PXA270에다 Xenomai 포팅하느라 힘들어 죽을뻔 했음...

대가리가 너무 무거운가?..
뒤뚱뒤뚱 씰룩씰룩..


걸었으니 이제 뛰어봐야 할텐데...

지나는 길

각자의 할 일과 목적을 가지고
한 곳에 우연히 잠시 모였다가
눈길 한번 마주치지 않고
말 한마디 건네지 않고
그냥 바쁘게 지나는 사람들...

한적한 살 곳이 그립다.