메뉴 건너뛰기

XEDITION

아두이노

아두이노 기초강좌 - IR 센서

묵묵이 2017.01.11 17:17 조회 수 : 7

 

 

적외선 신호포멧은 NEC, SONY, RC5, RC6 등 여러가지가 있으나 대표적으로 NEC(아시아 태평양 연안), RC5(유럽 등) 포멧이 주로 이용됩니다. 삼성과 LG는 NEC포멧을 사용합니다.

 

NEC 포멧은 아래와 같은 배열로 구성되어야 합니다.

  Lead code

 

 Custom code

(8bit) 

 Custom code

(8bit)

  Data code

(8bit)

Data code

(반전된 8bit)

 

 

Lead code

- 신호가 시작됨을 알립니다.

삼성 : 4.5ms HIGH, 4.5ms LOW

LG : 9ms HIGH, 4.5ms LOW

 

Custom code

- 제조사와 제품별 구분용입니다.

16bit를 통째로 이용하거나 8bit와 반전된 8bit를 이용하기도 합니다.

 

Data code

- 데이타를 표시합니다

8bit 와 반전된 8bit를 이용합니다

 

포멧의 개념은 대충 이렇게 구성되는구나라고만 이해하면 됩니다.

 

 IR 센서 이미지가 좀 흐려서 잘 안보이네요.  x모양 이미지가 수신램프이고요 그 아래로 3개의 다리가 핀으로 나와 있는 형태입니다.  왼쪽이 신호, 중간이 GND, 오른쪽이 VCC입니다. (다른 형태일 수도 있으나 보통 이렇게 구성되어 있습니다)

 

 

다음으로 IR 라이브러리인 IRremote 를 다운로드 해야 합니다

아래 링크를 클릭하고 다운로드 후에 라이브러리 폴더에 압축을 해제합니다.

 

https://github.com/shirriff/Arduino-IRremote/archive/master.zip 

 

제 경우엔 라이브러리 폴더가 아래와 같은 위치네요

 

c:UsersAdministratorDocumentsArduinolibraries 

 

이제 스케치를 열어서 코딩을 합니다.

 

 

#include <IRremote.h>

#include <IRremoteInt.h> 

 

IRrecv irrecv(A5);           //IRrecv 객체를 만듭니다 (아날로그 5번핀으로 수신)

decode_results result;     //수신받은 데이타를 저장할 구조체를 만듭니다 

 

void setup(){

Serial.begin(9600);

irrecv.enableIRIn();    //수신을 시작합니다

irrecv.blink13(true);    //수신받았을 경우 아두이노 13번핀을 깜빡입니다

 

void loop(){

if(!irrecv.decode(&result)) return;    //수신받은게 없으면 아래를 수행하지 않습니다. 

 

if(result.decode_type == SAMSUNG){  //삼성리모콘이면

Serial.println("Samsung");

}else if(result.decode_type == LG){   //LG리모콘이면

Serial.println("LG");

}else{                                           //기타 NEC, SONY, RC5 등을 쓴다면 else if 로 추가해주세요

 

Serial.println("기타");   

}

 

Serial.print("데이타: ");

Serial.println(result.value, HEX);   //받은 데이타를 16진수로 표시합니다

Serial.print("길이: ");

Serial.println(result.bits, DEC);   //데이타의 길이를 10진수로 표시합니다.

delay(10);

irrecv.resume();   // 다시 수신할 수 있도록 합니다

} 

번호 제목 글쓴이 날짜 조회 수
공지 IR 리모콘 코드 따기 [1] 묵묵이 2017.02.10 14
공지 rc 카 작업용 [1] 묵묵이 2017.02.07 14
공지 [sketch_mydust] 미세멘지 측정기 작업 용 [2] 묵묵이 2017.02.07 35
23 sprintf2 사용법 묵묵이 2017.02.07 5
22 디지털 온 습도계 사용 DHT22 [2] file 묵묵이 2017.02.06 5
21 미세먼지 측정기 참조 [3] 묵묵이 2017.02.06 5
20 test ir 리모컨 테스트 [1] 묵묵이 2017.01.23 5
19 ir 리모컨 값 기록 묵묵이 2017.01.18 2
18 아두이노 IR 리모컨 R 신호 반복문제 test 묵묵이 2017.01.18 6
17 아두이노 톤함수를 사용하지 않고 부저 소리내기 묵묵이 2017.01.17 1
16 키보드로 멜로디 연주하기 묵묵이 2017.01.17 4
15 아두이노에 작은별 멜로디 스케치 묵묵이 2017.01.17 4
14 아두이노 미세먼지 측정기 .. 만들기 file 묵묵이 2017.01.17 2
13 서버모터 테스트 소스 묵묵이 2017.01.16 7
12 서보모터 제어하기 묵묵이 2017.01.16 1
11 아두이노 프로 미니 보드와 USB TO TTL 모듈을 이용한 프로그램 업로드 묵묵이 2017.01.13 1
10 ir 리모컨 수신 test ( 현제 작업중 소스) [1] file 묵묵이 2017.01.12 4
9 ir 적외선 센서를 이용한 거리 측청 - test 잘됨 묵묵이 2017.01.12 2
8 초음파 센서 참고 소스 [1] 묵묵이 2017.01.12 4
» 아두이노 기초강좌 - IR 센서 [1] 묵묵이 2017.01.11 7
6 Arduino 아두이노 - relay module control 릴레이 모듈 제어 [1] 묵묵이 2017.01.10 19
5 아두이노 나노 알아보기 묵묵이 2017.01.10 2
위로