전기전자2011.07.26 00:24
아두이노와 전자회로를 배울때 가장 먼저 해보는것이 LED ON/OFF 제어인데요, LED 대신 IRED(적외선 LED)를 장착하고  마치 모르스 부호같이 규칙에 맞쳐 ON/OFF를 해주면 복잡한 데이타도 송수신이 가능합니다.  여러분이 매일 사용하고 계신 TV같은 가전기기가 바로 이렇게 눈에 보이지 않는 빛을 통해 제어되고 있습니다.  이 기술을 잘 활용하면 여러분의 아두이노로 리모콘을 대체하거나 반대로 리모콘 명령에 따라 동작하는 아두이노 기기의 제작이 가능합니다.

본 글을 통해 아래의 적외선 송수신 기본회로를 소개해 드리고 실제로 리모콘으로 조정되는 로봇을 아두이노로 제어하는 방법도 안내해 드리겠습니다

1. 초간단 적외선 송신 회로
2. 고출력 적외선 송신 회로 ( 5미터 이상의 장거리? 전송가능)
3. 리모컨 신호 수신 회로





1. 초간단 적외선 송신 회로

그림1.의 회로를 보시면 바로 아시겠죠?  네,  일반적인 LED를 켤때 사용하는 회로와 동일하게 연결하면 됩니다.  차이점이라면 보통 IRED는 대부분의 LED보다 좀더 저 전압에서 구동된다는 점입니다.  따라서 일반 LED보다는 조금더 큰 저항을 사용하면 됩니다.  저항값이 작으면 좀더 IRED를 밝게 켤 수 있지만 대신 IRED와 아두이노에 무리가 갈 수 있으므로 적당한 저항값을 선정해주시면 됩니다. 하지만 정답은 없습니다.   예제에서는 560옴 저항을 사용하였습니다. 

예제에 사용된 IRED 규격:   정격 1.36V ,  최대 1.7V,  피크주파수 940nm, 화각+-20도

5V 전압을 가할 경우,  I= V/R 공식을 참고하시면  약, 9mA 전류가 흐를 수 있음을 계산으로 예상할 수 있습니다.
아두이노의 경우 핀 한개에서 출력할 수 있는 전류허용량은 20mA에 불과합니다.  초간단 회로로 광신호 도달 거리가 짧을 경우 그림2. 와 같은 고출력 전송회로를 사용하면 됩니다.  위 예제에선 아두이노 디지탈3번 핀을 통해 ON/OFF 제어를 하게됩니다. 참고로, 디지탈 3번핀은 PWM 출력을 지원해주는 핀중 하나입니다.



2. 고출력 적외선 송신 회로

본 회로는 보통의 가전기기 제어용 리모콘에서 사용되는 회로입니다. 수십에서 수백 mA의 고출력 송신이 가능하므로 비교적 원거리(5미터 이상)로 광신호를 전송할 수 있습니다. 이를 위해 트랜지스터를 사용하는데요 아두이노에서 저 전류 제어로 ON/OFF를 제어하고 실제로 IRED에 전류공급은 트랜지스터가 담당하여 비교적 큰 전류를 사용할 수 있게 됩니다.
그림2.를 참고하여 회로를 구성하시면 됩니다.  여기서 R1은 330옴  R2는 1옴을 사용하였습니다.  실제로 테스트 해본 결과 방이나 거실 전역에서 방향에 상관없이 신호전달이 되는것을 확인했습니다. 기본 제공되는 리모콘보다 더 고출력인것 같네요;; 
(사실 본 회로에 5V는 조금 과할 수 있습니다.  아두이노와 함께 사용하실 경우 5V 대신 3.3V 전압을 사용하면 좋습니다.)

예제 회로의 경우 일시적으로 매우 큰 전류가 흐르게되지만 매우 짧은 시간동안만 구동되므로 전체적인 전류소모율은 적은 편입니다.  참고로, 상용 리모콘의 경우 미작동중엔 sleep모드로 대기하다가 버튼이 눌리는 순간 깨어나서 IR송신 후 다시 잠에 들게 되므로 건전지 2개로 수개월씩 작동이 가능합니다.  회로도로 잘 이해가 가지 않으신 분들은 아래의 실제 연결된 사진을 참고하시기 바랍니다.


사진1. 고출력 IR 송신회로 실제 구성예

3. 적외선 수신 회로

적외선 송신측 IRED의 피크 주파수와 일치하는 파장의 포토트랜지스터나 포토다이오드를 이용하여 수신부 구현이 가능합니다. 하지만 우리주변엔 다양한 파장의 빛들이 가득차 있으므로 노이즈에 해당하는 빛신호를 차단하고 원하는 광신호만 추출해주는 필터회로가 있어야 실용이 가능해 집니다.  리모콘 수광 모듈은 이를 위한 소자와 필터회로가 일체화된 제품으로 매우 손쉽게 특정 파장 및 주파수의 빛 신호에 반응하는 수신기로 활용할 수 있습니다.

예제에 사용된 적외선 수광모듈 사양:   감응되는 빛의 파장: 940nm ,  빛 신호의 주파수: 38KHz

참고로, 적외선 송신시 사용된 IRED가  850nm 파장의 빛을 출력한다면,   수광모듈도 850nm 용으로 맞쳐줘야 수신률이 높아집니다.  마찬가지로 빛 신호의 캐리어 주파수(가령 38KHz)도 송/수신 모듈이 일치되어야 합니다.
예제에선  940nm 피크 파장의 IRED와  940nm형 수광모듈을 사용하였으며,  캐리어 주파수는 38KHz로 맞췄습니다.


IR 수광 모듈의 연결법도 매우 간단하며 (그림3을 참고) 전원만 공급해주고 VOUT단자로 출력되는 신호를 참고하기만 하면 됩니다. 다만,   전원 입력부에 노이즈가 있어 문제가 되는경우라면 전원 입력부에 저항과 콘덴서를 이용하여 노이즈를 감쇄시켜줘야 합니다.  (보통은 생략이 가능합니다. 필요한 경우 관련자료에서 IR수광모듈 데이타 시트를 참고하시기 바랍니다.)
위 회로에서는 VOUT 출력을 아두이노 디지탈11번 핀에 연결하여 신호를 감지하는 경우를 가정하였습니다.


아두이노로 적외선 신호 송신 및 수신하기 - 프로그래밍 편

위에서 소개해드린 방법으로 하드웨어 준비는 간단히 끝났습니다.
이제는 아두이노로 리모콘 제어 신호를 발신하기 위해선 전송규약에 맞쳐 ON/OFF제어가 필요한데 많은 분들에게 쉽지 않은 과제입니다. 따라서 전용 라이브러리를 활용하시면 좋은데요  공개된 아두이노 라이브러리들을 둘러보시고 적절한것을 선택하시면됩니다. 본 글에선 IR Remote 라는 라이브러리를 참고로 하였습니다. 
IR Remote 라이브러리의 경우  IR 송신을 위해서 D3핀을,  수신을 위해서 D11핀을 기본으로 사용하고 있습니다.


IR Remote 라이브러리로 적외선 리모콘 신호 발신하여 로봇 원격 제어하기

이제는 실제로 리모콘으로 제어되는 로봇을 아두이노로 제어해 보도록 하겠습니다.

제어대상: 원격제어 6족보행 로봇
전송프로토콜: 유사 NEC 코드
전송부 회로:  그림1. 또는 그림2 의 회로 모두 사용 가능

사전준비:
 .IR리모콘으로 조정되는 로봇 준비: 관련글 링크관련제품 링크
 .IR Remote 라이브러리 설치:  라이브러리 제작자 홈페이지 링크,   라이브러리 다운로드 링크


소스코드 예제:

#include <IRremote.h>

IRsend irsend;

int incomingByte = 0;

void setup()
{
  Serial.begin(9600);
}

void loop() {
 
    if (Serial.available() > 0) {
        // read the incoming byte:
        incomingByte = Serial.read();
        // say what you got:
        Serial.print("I received: ");
        Serial.println(incomingByte, DEC);
        Serial.flush();
    }
        switch( incomingByte){
         case 56: //forward
           irsend.sendNEC( 0xc5000000, 8); //전진
           break;
         case 50: //backward
            irsend.sendNEC( 0x45000000, 8); //후진
            break;
         case 52: // turn reft
            irsend.sendNEC( 0x25000000, 8); //좌회전
            break;
         case 54: // turn right
            irsend.sendNEC( 0x85000000, 8); //우회전
            break;
         case 53: //stop 정지 , 아무신호도 안 보내면 정지합니다.
          break;
        }
      delay(500);    // 0.5초를 주기로 반복
}

아두이노에 위 소스를 프로그래밍 하신 뒤 시리얼 모니터 창을 여시고,  send 입력란에 아래의 해당 숫자키를 입력한 뒤 엔터를 입력하여 전송해줍니다.

 전진 8
후진
2
 좌회전 4
 우회전 6
 정지 5 or 기타키 or 그냥 엔터

가령, 전진을 하려면 숫자 8을 누르고 엔터를 쳐주면됩니다. 중지하려면 5번을 누르고 엔터를 치면됩니다.

소스 해석:
시리얼 포트를 통해 값이 전송되면 첫번째 바이트 값을 읽고 이값에 따라 방향제어 변수값을 수정합니다. 또한 이값은 별도의 입력이 없는경우 그대로 유지되므로 매번 순환루프 마다 보관해둔 방향제어 변수값에 따라 리모콘 신호를 발신하게 됩니다.

방향 제어 명령을 유선 시리얼 통신으로 받는 대신, 무선으로 전송 하거나 조이스틱이나 버튼 또는 센서를 이용하여 변화시켜주면 전파를 이용한 로봇제어나 자율이동형 로봇의 제작도 가능합니다.



동영상1. 실행 예제 보기

키보드 숫자를 입력후 엔터를 치면 시리얼통신으로 아두이노에 전송되고 이 값에 따라 적절한 리모콘 신호를 보내어 로봇을 제어하게됩니다.  본래 적외선은 사람 눈으로는 보이지 않지만 대부분의 카메라로는 볼 수 있습니다. 동영상 후반부를 보시면 광신호가 약 0.5초에 한번씩 송출될때 로봇이 움직이고, 신호가 없으면 로봇이 멈추는것을 확인하 실 수 있습니다.

끝으로,
 온갖 가전기기들이 리모콘으로 제어되고 있습니다.  이는 아두이노로 제어할 수 있는 기기들이 많다는 뜻이기도 한데요 여러분은 어떤 기기를 제어해 보시겠습니까?  가령 저렴하게 구입이 가능한 리모컨 제어되는 MP3플레이어로 말하는 로봇 만들기도 가능합니다.  아래의 관련글에서 좀더 세부적인 리모콘 프로토콜 정보도 참고하시기 바랍니다.

즐거운 DIY 생활 보내시길!!


관련 제품 링크

 .무선제어 6족보행 로봇

 .아두이노 UNO

 .적외선 무선통신킷




기타정보 링크
 .아두이노로 무선제어 6족보행 로봇 제어하기
 .말하는 로봇 만들기( 적외선 리모콘 프로토콜 )
 .IR수광모듈 데이타시트(첨부파일 참조)



저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

  1. psjoon

    위 코드를 스케치에 입력하고 컴파일 하면 IRsend가 없다고 에러메시지가 뜸니다.
    왜 그렇가요
    라이브러리는 카피에서 붙여났습니다.

    2012.01.24 17:44 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 라이브러리에 문제가 없다면, 최신 아두이노 개발환경을 사용하시는지요? 그 경우 코드 호환성 문제로 일부 소스를 수정해야 정상작동되게 됩니다.

      적절히 수정을 해주시거나, (구버전)Arduino Sketch 0022 등의 버전에서 시도해보시기 바랍니다.

      2012.01.26 21:48 신고 [ ADDR : EDIT/ DEL ]
  2. sss

    고출력 수신부에 대해 궁금한 것이 있습니다.
    로보밥님께서는 npn 트랜지스터를 사용하셨는대... 아두이노는 핀 하나당 20ma를 출력하는게 한계아닌가요?
    5v핀을 사용하더라도 결국 아두이노의 승압 회로에 의해 승압된 전류를 사용하는 것 같은대... 아두이노의 승압 회로는 최대 ma의 전류를 출력할 수 있나요?

    2012.03.14 16:11 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 그림2. 고출력 발신 회로 말씀이신거죠? 해당 회로를 이용하시면 D3핀에서 출력되는 전류는 TR을 On/Off하는 역활만하므로 전류가 별로 소모되지 않습니다. (수 mA나 그 이하에 불가)
      IRED구동에 소비되는 고출력 전류는 디지탈핀이 아닌 5V전원핀에서 바로 나오므로 100mA 이상을 출력해도 됩니다.
      즉, MCU의 제어용 저전류로 고전류 부하를 제어하는 거죠!

      2012.03.15 20:58 신고 [ ADDR : EDIT/ DEL ]
  3. Black

    학교 과제를 할려고 하는데 맨위에 분 처럼 IRsend가 없다는 대서 막혔습니다..
    위에 답변에 보면 일부 소스를 수정해야 된다고 말씀하셨는데
    한참을 찾아 보았지만 이제 초보 수준의 c언어 실력으로는 찾아내기가 쉽지가 않습니다..
    말씀하시는 소스 부분이 아두이노의 해더 파일이지
    라이브러리의 해더 파일중에 수정해야 되는건지 잘 모르겠습니다.
    이 글을 보신다면 좀 도와주시길 부탁드립니다 ㅠ

    2012.05.31 18:55 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • c언어 초보수준으로 해결가능하십니다.
      IRSend가 없다는건 해당라이브러리가 정상설치안되서일겁니다. 아두이노설치 폴더에있는 libraries폴더에 위에링크안내드린 라이브러리를 다운로드받아 복사하신후 아두이노 리로딩하시면됩니다. 아두이노 라이브러리 설치하는법을 잘 모르실 경우 네이버 아두이노 스토리카페나 인터넷 자료를 참고하시기 바랍니다. 다른 오류가 뜬다면 아두이노 스케치를 0022버전으로 사용하시면됩니다.

      2012.06.01 18:45 신고 [ ADDR : EDIT/ DEL ]
    • Black

      친절하신 설명 감사 드립니다^^ 설명을 듣고 라이브러리에 설치하고 실행 켜서 컴파일이 드디어 정상 작동 하고 있습니다 ㅎ 다시한번 정말 감사드립니다 ㅎ

      2012.06.02 09:00 신고 [ ADDR : EDIT/ DEL ]
  4. 로보밥 짱조아

    안녕하세요 IR LED랑 수신부이용해서 근접센서 만들려고하는데
    수신부가 IR LED에서 나오는 적외선을 받으면 '1'이고
    안받으면 '0'이 되는건가요?!?!?

    2012.10.31 19:21 신고 [ ADDR : EDIT/ DEL : REPLY ]
  5. kang

    이거 아두이노 버전 신버전쓰는데 뭘바꿔야 할지 모르겠습니다...좀 알려주세요ㅠㅠ

    2013.05.23 23:17 신고 [ ADDR : EDIT/ DEL : REPLY ]
  6. novice

    안녕하세요? 송신회로에 궁금한 점이 있습니다. 소프트웨어만 하는 사람이다 보니 하드웨어 관련지식이 그다지 없습니다. ㅠ 써 놓으신대로 3.3v에 연결했고 저항은 그대로 썼습니다. 그런데 sendRaw로 3번 반복되는 형태의 긴신호를 보내면 아두이노가 다운됩니다. 다운되는 현상을 몰라서 정말 한참헤맸습니다. 짧은 신호 (32비트이내로) 한번 보낼때는 정상 작동합니다. 우여곡절끝에 R1에 저항을 직렬로 더 연결했더니 죽는 현상은 해결됐습니다. R1,R2를 어찌 계산하는지 출력 전류는 어찌 계산하는지 설명 좀 부탁드릴 수 있을까요?

    2013.07.18 10:19 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 트랜지스터 연계 저항 계산은 쉽지 않습니다.
      공부를 원하시면 대학 교재용 전자회로(트랜지스터 앰프 관련부분) 서적을 보시면 됩니다. 위 저항치는 제가 정확히 계산한건 아니고 리모콘 송수신회로도를 참고하여 근사치로 설정한것입니다. 최적의 값은 사용 전원등을 고려해서 직접 계산해주셔야하겠네요 ^^.

      2013.09.04 13:47 신고 [ ADDR : EDIT/ DEL ]
  7. ninano

    수광모듈에 전류제한 저항없이 바로 전원에 연결하면 오래 사용 못하겠네요. 가능하면 Vout 단자에 풀다운 저항과 노이즈제거용으로 100pF 정도 달아주시면 좋겠네요.

    2013.07.21 12:25 신고 [ ADDR : EDIT/ DEL : REPLY ]
  8. oprix

    글을 보고 많은 도움 받다가 참고하시라고 적어봅니다.

    라이브러리 설치는 IRemote.zip 압축을 풀어 libraries 폴더에 넣어주면 되고
    컴파일시 에러는 WProgram.h 라고 적힌 부분을 Arduino.h 로 변환해주면 되네요.

    2013.09.15 16:40 신고 [ ADDR : EDIT/ DEL : REPLY ]
  9. lee

    좋은 자료 감사합니다 ㅎㅎ
    저는 pic로 만들려고 하는데...
    작자님이 쓰신 리모컨 소스를 그대로 사용해도 무방할까요??

    2014.03.02 17:31 신고 [ ADDR : EDIT/ DEL : REPLY ]
  10. 비밀댓글입니다

    2015.01.18 08:51 [ ADDR : EDIT/ DEL : REPLY ]

로보틱스2011.07.21 01:23
아두이노로 제어하기 좋은 로봇을 찾아오다 얼마전 드디어 쓸만한 녀석을 발견했습니다.

바로 무선제어 6족보행 로봇이란 제품입니다.





6족 보행로봇으로 전진,후진,좌회전,우회전이 가능하며 제공되는 적외선 리모컨을 통해 무선 조정이 가능합니다.
여러대의 로봇을 동시에 조정할 수 있도록 점퍼세팅으로 총 6대의 로봇을 동시에 조정할 수 있게 제작되었습니다.
조립도 간단하고 접착제같은건 사용하지 않아 신속하고 깔끔하게 제작이 가능합니다.

왜 좋은가?

1. 저렴한 가격
2. 손쉬운 제작 ( 8세이상 조립가능, 납땜불필요)
3. 손쉬운 아두이노 연동 가능( 전선 결합 불필요, 적외선 통신으로 제어)


조립시 필요한 것:
1.5V 알카리인 건전지 4개( 조정기용 2개, 로봇본체용 2개,  1.2V 충전지로도 잘 작동됩니다.)
스크류 드라이버

아두이노로 제어할 경우 필요한 재료:
 아두이노, IRED(적외선 LED) 1개,  저항 1개
(5미터 이상의 장거리 제어를 원하면 트랜지스터 1개, 저항 1개가 추가로 필요합니다.  관련글 링크 참고)


동영상1. 로봇 기본동작 보기

리모컨 제어로 전진, 후진, 좌회전, 우회전이 가능합니다.


아두이노로 제어하기

1. 하드웨어 준비
적외선 리모컨 신호를 아두이노 디지털 출력을 통해 출력하면됩니다.  이를 위해서 IRED(적외선LED) 1개와 저항 1개가 전부입니다.   원거리에서 제어하려면 트랜지스터를 사용해야 합니다.  연결방법은 일반 LED와 동일하게 저항1개와 함께 직렬 연결해주시면 됩니다.  본 예제에서는 PWM출력을 지원하는 아두이노 디지털 3번핀을 사용합니다.

리모콘 신호 전송을 위해 아두이노에 IRED 연결


IRED연결은 일반 LED 연결과 유사합니다.



2. 라이브러리 준비
적외선 리모컨의 역활을 아두이노가 대신하려면 여러분이 직접 38KHz의 캐리어 주파수에 수신기의 코드부호를 실어서 출력해주면 됩니다.  하지만 많은분들에게 쉽지 않은 도전과제이므로 천재적이면서 친절하기까지 하신 분들이 미리 만들어둔 라이브러리를 활용하여 비교적 손쉽게 아두이노로 리모컨 신호를 발신할 수 있습니다. 

아래의 링크에 가셔서 해당 라이브러리를 아두이노 스케치 library 폴더안에 복사하여 라이브러리 설치를 완료합니다.


위에서 준비해놓은 라이브러리는  RC5, SONY, NEC 코드 등의 송신 및 수신을 위한 기능이 제공되며 여기서는 NEC코드 발신 함수만 사용하면 됩니다. 리모컨 신호를 이용해 가전기기를 제어하는 것에 대해 일전에 소개해 드린적이 있는데요  이번에도 마찬가지로 코드부호를 스캔하여 해독한 결과 이 로봇도 NEC코드와 유사한 전송방식을 사용하는것을 알게되었습니다.
차이점은 데이타 전송폭이 짧다는 점과 반복표시용 코드를 사용하지 않는다는 것입니다. 

하지만 로봇제어를 위해 복잡한 내용은 모르셔도 상관 없습니다.  단지, 아래와 같은 함수 하나만 사용하기 때문입니다.


  irsend.sendNEC( codedata , nbits );   // codedata에 수신기용 코드값과   nbits에 코드값의 비트 수를 적어주면 됩니다.

위와 같은 함수로 해당코드값을 전송하면,  아두이노의경우 디지탈 3번핀에 해당되는 코드신호가 출력되고 이곳에 연결된 IRED를 통해 빛신호로 변환되어 출력되고  로봇에 내장된 적외선 수신기에서 해당 코드를 수신한뒤 대응되는 모터의 작동이 이뤄지게 되는 것입니다.


아래의 소스는 1초에 한번씩 전진, 후진, 좌회전, 우회전 신호를 발신하는 예제입니다.


#include <IRremote.h>

IRsend irsend;  

void setup()
{
// 특별한 초기화 설정이 불필요합니다.
}

void loop() {
   irsend.sendNEC( 0xc5000000, 8); //전진
   delay(1000);
   irsend.sendNEC( 0x45000000, 8); //후진
   delay(1000);
   irsend.sendNEC( 0x25000000, 8); //좌회전
   delay(1000);
   irsend.sendNEC( 0x85000000, 8); //우회전
   delay(1000);
  
}


위의 소스는 1초에 한번씩만 코드를 발송하므로 지속적으로 작동상태가 유지되지 않습니다. 따라서 만약 전진을 지속적으로 하려면 1초에 수회 정도 전진에 해당되는 코드를 반복하여 전송해야합니다. 


동영상2. 위 소스로 로봇 제어되는 장면

보통 이동형 로봇을 제작시 아두이노같은 마이크로콘트롤러 보드에 모터 구동 회로를 장착하고 모터 2개를 제어할 경우 방향제어를 위해 최소 4개의 전선을 연결하여 제어하게 됩니다. 이에 반해 본 로봇킷의 경우 모터 회로 구현이 이미 되어있는데다 전선의 연결이 불필요하고 빛으로 연결되어 있으므로 비용도 절감되고 제어도 간단해 질 수 있으므로 기초 이동형 로봇 제어 학습시 효과적으로 응용할 수 있는 방법으로 판단됩니다.  (물론 전용 모터드라이버 연결법이 더 다양한 제어가 가능합니다. 가령 속도조절이 가능함)

거리센서 등을 통해 주변 물체를 감지하고 회피하는 로봇의 제작이나  전파(Zigbee, Bluetooth, Wifi 등 활용)를 통한 무선통신으로 신호를 수신 받고 이를 광통신으로 변환하여 원격제어되는 로봇의 구현도 가능합니다.

게다가 수신모듈+모터드라이버 역활을 하는 제어기만 활용할 수도  있습니다.


사진. 리모컨 수신기 및 모터구동 드라이버 보드: 
좌측에 전원연결(2핀)부, 우측에 모터2개 연결부(4핀), 상부에 ON/OFF스위치,  하부에 리모컨 채널 조정용 헤더핀(6핀)이 있으며 가운데에 IR수광모듈이 보입니다.


기타.  작동중 오동작이 계속되면 건전지를 교체해 보시기 바랍니다.  모터 구동시 전력소모가 큰 편이므로 배터리 소모가 빨리 됩니다.


관련 제품 링크

 무선제어 6족보행 로봇

 아두이노 UNO

 적외선 무선통신킷



내용추가
2011.July.26 
아래의 관련글 링크에 리모콘 신호 송수신 회로와  PC에서 키보드 입력으로 로봇을 제어하는 소스 예제를 포함한 글을 새로 등록하였습니다. 참고하세요


관련글 링크

 .IR무선 리모콘 송수신 회로로 로봇 제어하기



저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

전자칠판2010.08.04 10:24

1000원짜리 비밀펜을 개조한 적외선펜

[사진1. 1000원짜리 비밀펜을 개조한 적외선펜]


한 1년전부터 적외선펜으로 손쉽게 개조할 필기구를 찾아왔는데요, 전동 지우개, 마커펜, 현광펜, 지우개펜 등등 2만원 어치 정도는 구입했던것 같네요...  이중 가장 고급스러웠던 재료는 전동 지우개 였습니다만,, 생략하고,,,  지금 말씀드리려는 녀석은 매우 저렴하고 (단돈 1000원),  준비된 IRED 장착 공간, 푸시버튼까지 완벽하게 준비된 ... 게다가 동네 문방구에서도 구할 수 있는 "비밀펜"으로 적외선펜 만들기에 대해 알려드리겠습니다.

사실 예전에 대형마트에가서 비밀펜이란걸 봤었는데요,  근데 이게 버튼방식이 아니고, 슬라이딩 버튼으로 켜고 끄는 방식이라 적외선펜과 맞지 않아 일단 패스했었습니다.


[사진2. 슬라이딩 버튼형 비밀펜 - 적외선펜용으로 사용은 거의 불가 ]


그런데, 몇일전 IRED구매자분이 옥션에서 판매중인 비밀펜을 구매하여 제게서 구매한 IRED로 적용가능하냐는 질문을 하셔서, 다시금 확인을 해보게 되었는데요.

종전에 봤던 펜과 동일하게 자외선 LED를 사용하는 펜이지만,  이 녀석은 Push버튼 형식이어서 적외선펜으로 개조하는데 적당한 것 같더군요.  그래서 기회가 있으면 구입해서 테스트 개조를 해봐야겠다고 생각하고 있었는데요,,,

혹시나 해서, 동네 문방구에 가봤습니다.  진짜 작은 문방구입니다. 찾는물건이 아무것도 없을것 같은 ㅡㅡ;

필 자: 아저씨~  혹시 비밀펜 이라고 있나요????      ( 뭐 당연히 없겠지...)
문방구 주인장: 이거 말인가요? !!!    ( 헉;;    있더군요...  )

게다가 푸시버튼 타입이었습니다.   제목은 "몰래쓰는 비밀펜" ,  제가 봤던 "나만의 비밀펜"과는 달랐습니다.
당장 구입하여 개조에 들어갔습니다.


개조법은 매우 간단합니다.

1단계. IRED장착

 머리부분의 캡을 회전하여 열면 LED+전지 모듈이 빠지게 되어있습니다.  이제,,,
1. 기존에 장착되어있던 자외선LED를 제거한다.
2. 기존에 장착되어있던 자외선LED와 동일한 모양으로 IRED 다리를 휘어준다.  [이때 다리의 방향(극성) 주의 ]
3. 기존에 장착되어있던 자외선LED자리에 동일한 모양으로 장착한다.

 즉, 5mm 표준형 LED 형태여서,  그대로 자외선LED를 적외선LED로 바꿔주시면 됩니다.

2단계. 수은전지 3개를 1개만 사용

기존에 장착되어있는 자외선LED는 4.5V(수은전지3개)를 사용하는 무서운 놈입니다.
수은전지 3개가 장착된 상태로 IRED를 작동시키면,,, ,,,,  IRED 그냥 죽습니다.
저에게서 IRED를 구입하신 분들은 별도의 저항없이 수은전지 2개를 사뿐이 빼서 보관해주시고,
 1개만 연결해서 사용하시면됩니다.  (덕분에 여분의 수은전지가 2개나 생겼습니다.)
만약 허용전압이 1.6V이하인 IRED를 사용하신다면 저항을 한개 장착해 주셔야 IRED에 무리가 없습니다.

이제 문제가 하나 남았습니다. 수은전지 2개가 없어진 공백을 어떻게 채우냐? 입니다.
저는 일단 스프링을 늘려봤는데요,,  좀 불안합니다. 
튼튼하게 사용하시려는 분들은 납땜이나 기타 고정 방식을 연구하셔야 할 듯합니다. 
(주의사항.  수은전지는 절대 절대 Never Ever Ever Never 납땜하시면 안됩니다. 폭발 위험이 있습니다. )

3단계. 작동확인 및 주의사항

적외선는 사람 눈에는 보이지 않는 빛이므로 작동확인을 맨눈으로는 할수없습니다. 하지만 웹캠이나 기타 전자식 카메라는 거의 모두 적외선 발광여부를 확인하실때 사용하실 수 있으니, 작동확인할때 사용하시면됩니다.
수은전지 고정이 잘 안되면, 작은 충격에도 접촉불량으로 작동이 안되므로 꼼꼼히 연결해주시 바랍니다.
또한 수은전지 뒷면이 (-)극과 (+)극이 거의 맞닿아 있어서 제대로 고정하지 않으면 단락으로 수은전지 파열이 있을수 있으므로 다시한번 주의를 당부드립니다.  본 제작기를 참고하여 제작중 발생하는 어떠한 문제도 저는 책임져 드릴 수 없습니다.;;
부디 안전 개조 하세요!~

4단계. 품명 :: 품질 체험 결과

일단 제대로된 펜의 형태를 갖췄고,  건전지함과 IRED장착 공간, 그리고 푸시버튼까지 적외선펜으로의 개조를 위한 거의 완벽한 준비가 된 비밀펜 인것 같습니다. 하지만 ,, 개인적인 느낌으론 키누르는 감이 좀 무겁습니다.
제가 사용한다면 수위치는 좀더 가벼운 방식으로 대체하면 좋을듯 합니다.  다른방식의 적외선펜을 제작하시는 분들이라면 아래의 사진에 보이는 버튼말고 좀더 키감이 소프트한 스위치를 이용하실 것을 권장드립니다.



[사진3. 개조 완료된 본체 모듈]



[사진4. 개조 완료된 본체 모듈 - 발광 모드]





[동영상. 적외선펜-비밀펜개조 ]



비밀펜 구매하시려는 분들은 아래의 제품 도움말 사진 참조하세요.


[사진5. 개조에 사용된 비밀펜 제품 도움말]


추가 관련글.
 IRED(적외선LED) 구입하시려는 분들은 여기를 참고하세요 :  적외선펜 제작용 IRED 판매
 이것보다 더 간단하게 뚝딱 만드는 방법도 있습니다 :  초간단 적외선펜 만들기


저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

  1. 김상미

    개조된 본체모듈 반대편 사진도 볼수있을까요? 어떻게 연결하는 건지...검은 똑딱이에다가요

    2012.12.20 21:33 신고 [ ADDR : EDIT/ DEL : REPLY ]

전자칠판2010.07.05 23:11

공인 받지는 못했지만, 자칭 세상에서 가장 쉬운 적외선펜(IR Pen)만들기 방법을 소개해 드리렵니다.
너무 간단해서 제작기라고 하기도 민망합니다.  멋들어진 적외선펜을 구입하거나 만들어 사용하시기 전에 우선 테스트로 적외선펜이 필요하신 경우나 여러개의 적외선펜이 필요하신 경우 뚝딱 만들어 사용할 수 있는 방법입니다.



Wii Remote Controller(이하 Wiimote)를 활용한 전자칠판 제작에 있어서 핵심 구성 요소 중 하나가  IR Pen(적외선펜)인데요, 제작 방법은 사실 단순하지만, 실제로 제작이 용이치 않습니다. 재료 구하고 조립하는데 그냥 하루가 갑니다. 그래서 제가 터득한 아주 간단한 제작법을 알려드리겠습니다. 일단 동영상을 먼저 보시죠.



[동영상1.  적외선펜(IR Pen) 만들기 - Wii전자칠판용 가장 간단한 방법 ]

주의사항. 동영상 자막중에 IRED의 짧은 다리를(+)라고 표시했는데, 오류입니다.
긴다리가(+)이고,  짧은 다리가(-)입니다.

혹시, 위 동영상이 버벅되시면 YouTube 동영상 자료를 참고하세요.  [링크 바로가기]



[사진. 완성된 스프레이형 적외선펜 ]

자세한 설명 들어갑니다. 위와 같은 적외선펜을 만들려면 아래와 같은 재료를 구하시면 됩니다.
보셔서 아시겠지만, 저항, 전선, 전지케이스, 스위치, 납땜도구 등 아무것도 필요없습니다. IRED 다리를 구부릴때 사용할 롱노오즈 플라이어(뺀찌)가 있다면 좀더 편하게 작업 할 수 있습니다.


재료1. 적외선 LED (IRED)
  • 파장이 940nm인 제품이라야 인식이 잘됩니다.  (파장이 다르면 인식률이 확~ 떨어집니다. 링크: 테스트자료)
  • 저항없이 1.5V 전지에 바로 연결하시려면 최대 허용전압이 1.7V이상인 제품을 사용해야합니다.
  • 단, 저항을 사용하신다면 최대 전압이 1.6V이하인 IRED를 사용하셔도 좋습니다.
  • 화각도 +-20도 정도가 되야 기울기에따른 인식률 저하가 적으며, 3D 포인터 등에 활용하기도 용이합니다.


  [사진1. 적외선 LED(IRED)] 

직접 찾아보신 분들은 아시겠지만, Wiimote용 IRED의 구입이 쉽지 않습니다. 제가 위 조건에 딱 맞는 IRED를 박스로 구입한 뒤 소량이 필요하신 분들께 판매중이오니 필요하신 분은 참고하세요 (글하단에 있는 관련링크참조)


재료2. 일반 1.5V 건전지
  • 일반 1.5V 건전지로 크기는 AA, AAA타입 모두 가능합니다. 
  • 건전지 (-)극 부위에 V홈이 있는(사진2) 형태가 좋습니다. 이곳에 IRED 다리를 둥굴게 말아 넣으면 전기적, 구조적으로 잘 결합되게됩니다.  신기하게도 국내산 건전지들이 보통 이런형태이고,  제가 갖고있던 중국, 일본, 미국산 건전지는 보통 이 홈의 깊이가 매우 작거나 아예 없더군요 (사진3 참조)
 ☞ 대부분의 국산 건전지의 경우 비닐커버를 벗겨내도 약간의 접착물이 남아있어서 v홈이 아닌부분에 IRED다리를 접합할 경우 이 접착물들로 인해  IRED 점등이 잘 안되곤 하므로 참고 바랍니다.



[ 사진2. 건전지 추천 형태 - v홈있는것 ]




[ 사진3. 건전지 비추천 형태 - v 홈 없는것 ]


작동원리 - 전지의 구조

동영상 후반부에 보여드렸듯이 건전지 옆면도 사실 (+)극성을 갖고 있는데 비닐커버로 감싸서 절연되어 있는것입니다. 음양(-)과 양군(+)이 바로 옆집에 살면서도, 멀리 학교에서만 만나야 하는 상황 같습니다.
무슨 연애소설이나 일제시대에 만들어둔 비밀 지하통로라도 발견한 기분입니다.
비닐 장벽을 조금 제거하고 곧바로 만나게 해줬더니 전선비용도 아낄수있으니 참 좋습니다.
그런데 간혹 이상한 녀석들도 있더군요, 제가 갖고있는 중국산 건전지는 옆면이 (-)극 입니다. [사진3.중국산 참조] 이런경우 극성이 바뀌므로  전압 테스터기로 직접 확인하신 후 다리 극성을 맞쳐서 연결하시기 바랍니다.


제작 후 작동 확인법

적외선펜은 작동상태가 맨눈으로 안보입니다. 
"눈에 안보이는 빛..." 참 매혹적인 시 구절같지만, 볼 수가 없으니 왠지 답답합니다.
하지만 다행이도 요즘 우리 주변엔 디지탈카메라가 넘쳐납니다. 대부분의 디지탈 카메라들이 가시광선외에 적외선도 함께 보고있으므로  디카, 핸드폰 카메라, 웹캠 어느것이던 적외선 발광 여부를 확인할때 사용하실 수 있습니다. TV리모컨이 말썽일때도 적외선이 제대로 발광하는지 디카로 확인 가능합니다.  제작후 꼭 테스트해 보시기바랍니다.

관련링크
1. 적외선펜 제작용 적외선 LED 팝니다.
2. 1000원짜리 비밀펜으로 적외선펜 만들기
3. 1광점 3D 포인트 트래킹 구현하기
4. 3광점 헤드 트래킹 구현하기

저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

  1. 사람

    삼촌저가은이이에요

    2010.08.17 19:39 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. 으하하^^ 가은이 왔느냐~ 사람이라고 안썼으면 구미호인줄 알 뻔 했다 ㅎㅎㅎ

    2010.08.18 09:29 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. 구미호

    저 시은인뎁쇼...*^0^*...
    토요일에놀러갈게요...
    못갈지도몰라요.
    못가면☏(전화)할게요.

    2010.08.19 23:23 신고 [ ADDR : EDIT/ DEL : REPLY ]
  4. 구미호

    아마갈거에요..

    2010.08.19 23:24 신고 [ ADDR : EDIT/ DEL : REPLY ]
  5. 동영상에 주석을 잘못적었네요.
    긴다리가 (+)극성 짧은 다리가 (-)극성 입니다. 참고하세요

    2010.09.23 18:16 신고 [ ADDR : EDIT/ DEL : REPLY ]
  6. 배승진

    음 아트로봇에서 led 10개 구매햇는데 전이거왜안만들어지는지모르겟네요 ㅠㅠㅠ

    2011.07.12 13:17 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 무슨 문제이신지요? 어떤점이 어떻게 안되시죠???
      IRED는 극성 맞쳐서 건전지에 연결만 하면 꼬마전구켜듯이 쉽게 켜실 수 있습니다.

      2011.07.13 20:50 신고 [ ADDR : EDIT/ DEL ]
  7. 전미남

    추천하는 LED등을 구입해서 영상의 제작방법대로 연결 - 안되네요!
    전선을 다리에 연결한후 실제 건전지의 (+),(-)에 연결해도 - 안되네요!
    눈으로 안보인다고 해서 디카나 폰카해도 안 되네요!
    건전지 / LED등을 바꿔봐도^^

    해결방법이?

    2011.12.13 13:46 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • IRED를 어떤걸 사용하셨나요?
      긴다리에 +, 짧은 다리에 - 를 연결하시면 됩니다.
      사진찍어서 sixgen@gmail.com 으로 보내주시면 답변드리겠습니다.

      2011.12.14 10:57 신고 [ ADDR : EDIT/ DEL ]
  8. 양다리

    잘 봤습니다.
    제가 투광기라고 해야 겠죠 그걸 만들고 싶은데..
    적외선 투광기 입니다. 밤이 되면 자동으로 켜지는 센서도 같이 넣으려고 하는데...
    도움을 받고 싶습니다. 간단한 회로도라도 그려 주시면 좋겠습니다.
    ororaview@네이버닷컴 입니다.

    2012.02.13 15:41 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 안녕하세요.
      IRED 1~2개를 연결하실 경우, 이미 소개해드린 연결방법으로 간단한 응용이 가능하십니다만, 수십~ 수백개를 연결하여 고전류 구동시에는 고전력 드라이버용 전문 부품과 발열 등을 고려한 전문적인 설계가 요구됩니다. 저는 전문 하드웨어 개발자는 아니어서 적절한 답변을 드릴 수 없는점 양해바랍니다. 관련 동호외에서 좀더 전문가분들의 도움을 받아보시기 바랍니다.

      2012.02.14 21:20 신고 [ ADDR : EDIT/ DEL ]
  9. 김상미

    안되네요 -.-;;

    2012.12.19 17:41 신고 [ ADDR : EDIT/ DEL : REPLY ]
  10. 김상미

    왜 안될까요? 저는 로케트 건전지로 했고요
    뜨거워 지는 것으로 보아 전기는 통하는 것 같은데
    긴쪽을 전지 -홈에 돌리는 것 맞죠? wii리모콘도 구매했는데 안습-.-;;
    혹시 안되면 만들어진 펜을 구매할수는 없나요?

    2012.12.19 18:30 신고 [ ADDR : EDIT/ DEL : REPLY ]
  11. 김상미

    됩니다. 적외선을 눈으로 확인하려고 했던 무식함

    2012.12.20 21:27 신고 [ ADDR : EDIT/ DEL : REPLY ]

전자칠판2010.07.05 15:11



신속 정확한 배송서비스를 위해 우편발송 서비스를 중단하였습니다.
IRED가 필요하신 분들은 아래의 아트로봇 온라인샵을 이용해주시기 바랍니다.
택배로 발송되며 대부분 익일 수령가능하십니다.
( 택배비: 10만원 이상 구매시 무료, 1~10만원 구매시 2,500원,  1만원이내 구매시 3,000원 )


Wiimote 전자칠판용 최적의 IRED 구하기

전자칠판을 만들기위한 재료 대부분은 쇼핑몰에서 바로 구입가능하지만 적외선펜만은 국내 판매처가 없으며(있다면 제게 좀 알려주세요), 자작을 위해 적외선 LED를 구하려해도 일반적인 부품이 아니므로 인터넷 전자부품상에서도 판매를 안하고 있습니다. 직접 사양에 맞는 제품을 구매하러 용산,구로,을지로를 돌아다니셔도 비슷한 제품은 있는데 주파수(빛의 파장)가 달라서 기껏 차비,시간, 돈을 들여서 구매한 부품이 무용지물이 될 수 있습니다. (저의 슬픈 경험담 입니다.)

하지만, 노력하면 배우는게 있습니다. Wiimote와 딱 맞는 940nm파장의 IRED를 구했습니다.
게다가, 작동 전원으로 건전지 1.5V 직결 사용이 가능하므로 "저항? 그런거 난 잘 몰라" 하시는 분들에게도 최적인 적외선 LED를 찾았습니다. 그리고 좀 많이 구매를 해뒀습니다.
(적외선펜을 만드시려는 분들은 맨 아래의 "적외선펜만들기"링크를 참고하시기 바랍니다. 저항도, 스위치도, 전선과, 건전지 케이스도 필요없는 적외선펜 만드는 방법을 알려드립니다.)

"나는 꼭 부품을 직접 구할꺼야!! " 라는 분들은 아래의 사양을 참고하시고요,
교통비, 시간 절약하실 분들은 저한테 구입해 주시면 감사하겠습니다. (위의 온라인샵 링크 참조)

사양소개:
 직경(mm) 파장(nm)
정격전압(V)
최대전압(V) dc Fwd 전류(I)
화각(deg)
 5 940
1.36
1.7
 100mA +-20


특징1. Wiimote와 최적의 궁합 파장인 940nm 제품입니다.   (링크: 테스트 자료 참조)
특징2. 최대 허용전압이 1.7V이므로 일반 1.5V전지를 저항없이 연결해서 사용할 수 있습니다.
(일반 1.5V 건전지도 처음 사용시 전압을 측정해보면 1.6V가 넘습니다. 때문에 최대허용 전압이 1.6V인 IRED는 저항을 연결하여 사용해야 안전합니다.)
특징3. +-20도의 화각. 수신기와의 각도에 덜 민감하므로 적외선펜, 광점 트래킹 등 광범위한 용도로 사용하실 수 있습니다.


IRED 응용 사례:
  • Wii Remote Controller (Wiimote)를 이용한 전자칠판 만들기:   적외선 펜 만들때 사용됩니다.
  • IR SENSOR BAR :  Wiimote를 리모컨 용도로 사용할때  모니터 위에 센서바를 설치해야합니다.  이것도 IRED로 제작가능합니다.  참고 링크: 초간단 센서바 만들기
  • 자작 적외선 카메라용 포인터:  Wiimote가 없어도 일반 웹캠으로 적외선펜의 모션 트래킹이 가능합니다.
  • 터치패드구현: IR Array로 다량의 빛을 유리면에 방사후 손가락이 닿는 위치에서 반사되는 적외선을 카메라로 캡쳐하면 적외선펜 없이도 UI구현이 가능합니다.
  • 홍채인식 Eye Tracking:   모니터 쪽에서 적외선을 쏘고 사람의 눈에서 반사되는 적외선을 카메라로 감지하여, 눈알?의 각도를 측정해 냅니다. 쉽게말하면 사용자가 어딜 보는지 알려주는 장치입니다.  저도 사용해 봤는데요, 여러분이 알고있는 대형 웹사이트 운영사들이 이미 보유하고 있습니다. 왜냐고요?  새로운 디자인을 할때 여러분이 어딜 먼저볼지, 얼마동안 쳐다보는지 등을 미리 테스트 해볼 수 있기 때문입니다. 아직은 수천만원짜리 고가 장비이지만, 언젠가 개인용으로 저렴하게 나올때가 있을지 모릅니다. 기다리기 싫으시면 그냥 여러분이 만들어 보시죠!


☆ 1.5V 건전지와 IRED만 있어도 적외선펜 만들수 있습니다. 아래의 글을 참고하세요

저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

  1. 이문호

    우연찮게 검색을 하다가 블로그를 읽었습니다.
    궁금한것이 하나 있어서요
    IRED 응용 사례에서 자작 적외선 카메라용 포인터라는 부분이 있는데 자세한 내용이 궁금해서요

    2012.10.29 18:15 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 일반 웹캠이나 카메라도 적외선인식이 가능하므로 물리적 필터나 SW적 필터만으로 IRED광점 인식이 가능합니다. 이를 프리젠테이션이나 기타 아이디어 Prog제작에 응용할 수 있습니다.

      http://robobob.tistory.com/29 글 하단에 링크된 flash 예제를 참고하시면 됩니다.

      2012.11.06 22:39 신고 [ ADDR : EDIT/ DEL ]
  2. 무광인가요 그리고 이걸로 적외선 손전등 만들수 있을까요
    빛이 얼마나 밝은지도 좀 알려주세요 감사요
    kimjilang@daum.net

    2013.03.19 12:27 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 얼마나 밝은지란 표현은 너무 막연하네요, 게다가 눈에보이지도 않아 주관적인 밝기를 말씀드리기도 곤란하고 밝기는 전력(전류x전압)에 비례한다는 정도로 이해해주시고 나머지는 직접 테스트해보셔야할것 같습니다.
      물론, 적외선 손전등을 만들 수 있습니다.

      2013.03.19 18:49 신고 [ ADDR : EDIT/ DEL ]
  3. 들녘

    빛은 눈으로는 확인이 안되나요?
    테스트 사진은 메일로 첨부 하였 보내드렸습니다.

    2013.09.27 08:31 신고 [ ADDR : EDIT/ DEL : REPLY ]
  4. xeranium

    소모전류값이 100mA이게 맞나요???
    USB전원인가 한다면 USB가 5V에 500~900mA이니
    LED 전앞 1.5V로 봤을때 35ohm끼우면 되는건가용??

    2014.05.02 04:37 신고 [ ADDR : EDIT/ DEL : REPLY ]
  5. 수성비

    관리자의 승인을 기다리고 있는 댓글입니다

    2015.06.14 11:44 [ ADDR : EDIT/ DEL : REPLY ]