text

Arduino Project

1. IRreomte

2. Hardware Setting

3. Software Coding

Library 다운

스케치 실행 - 툴 - 라이브러리 관리 - IRremote 검색 & 다운

Sketch Coding

#include <IRremote.h> // 다운받은 라이브러리 활용
int input_pin = 2;   //입력핀의 설정

IRrecv irrecv(input_pin);   //IRrecv 객체생성
decode_results signals;   //수신 데이터 저장 구조체 선언
 
void setup()
{
    Serial.begin(9600);     //시리얼 통신
    irrecv.enableIRIn();    //수신시작
    pinMode(13, OUTPUT);  // LED 출력 선언(회로도에 첨부 안함)
}
 
void loop() {
  
//수신되는 내용이 있을 경우만 시리얼모니터에 표시함  
if (irrecv.decode(&signals)) //수신을 받으면
   {   
     if (signals.decode_type == NEC) // NEC 포맷의 IR신호(수신된 적외선 신호를 해석해 16진수 코드로 변환)
       {   
         switch (signals.value) // 수신한 값을 각 case와 비교
         {
          case 0x00FF6897:  //key 0
          Serial.println("key id 0");
          digitalWrite(13, HIGH);
          break;
          
          case 0x00FF30CF:  //key 1
          Serial.println("key id 1");
          digitalWrite(13, LOW);
          break;

          case 0x00FF18E7:  //key2
          Serial.println("key id 2");
          break;
          
         default:
         break;
         }
       }
        irrecv.resume(); //다음값 수신
    }
}

Decode

수신된 적외선 신호를 해석해 16진수 코드로 변환