본문 바로가기

아두이노/응용

아두이노 사용기#6 IR 센서 모듈을 다루어 보다.

IR 센서를 이용해서 리모컨값을 읽어보았다.


센서는 디바이스 마트에서 구매했다.

http://www.devicemart.co.kr/38921


요즘은 발품이 아니고 손가락품이라고 한다.

얼마나 많이 웹을 뒤지느냐에 따라 조금 더 저렴하게

구입할 수 있는 듯하다.


IR 센서가 비쌀 이유가 없는데 타 사이트는 상당히

고가에 측정되어 있다.


현재 디바이스 마트에서는 개당 350원이니 

매우 합리적으로 판매되고 있다.

 

 

 


 



위의 이미지에서 IR 센서의 실제 PIN 사양을 확인할 수 있다.



1. 연결도



2. 실제 연결 모습




자! 이제 생명을 불어 넣어주자!


역시나 아두이노는 사람들이 불필요하게 코딩하는 것을 원치 않는다.

다 준비가 되어 있다.


메뉴 파일 > 예제 > IRremote > IRrecvDemo 선택한다.




3. 소스코드


#include <irremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}


코드는 11번 PIN으로 IR값을 읽어와

그대로 시리얼 모니터 프로그램에 표시해준다.



위의 코드는 실제 가지고 있는 LCD 모니터의 리모컨 키(POWER) 값이다.


간단하게 설명하자면 앞의 네 자리(0x10EF)는 커스텀 코드라고 하고

바로 뒤의 두 자리(0xFE)는 실제 데이터값

그리고 마지막 두 자리(0x14)는 데이터값의 반전 값이다.


전형적인 NEC 포멧이라고 볼 수 있다.

요즘 대부분의 리모컨은 NEC 포멧을 사용하고 있다.


IR 관련 자료는 아래의 링크를 확인하기 바란다.

http://blog.naver.com/chandong83/220815973741









위의 내용은 제 네이버 블로그에서 가져온 글입니다.

(2016.10.01)

http://chandong83.blog.me/220825689064