적외선 송신모듈(KY-005)

적외선 송신모듈은 적외선을 쏘는 모듈 = 리모컨과 같은 원리

VCC, GND , 9번핀에 송신출력을 보냅니다.

적외선은 일반led처럼 눈으로 식별이 안됩니다. 스마트폰 카메라를 켜고 적외선 송신모듈에 갖다대면 보라빛 색상이 보여집니다. 리모콘을 쏘아도 빛이 안보이지만 카메라를 통해 보면 빛을 확인 할 수 있습니다.

해당 라이브러리를 다운받고 추가합니다. https://github.com/shirriff/Arduino-IRremote/

스케치에서 파일>예제>Arduino-IRremote>IRsendDemo를 열어 컴파일하고 업로드 합니다.

#include <IRremote.h>

IRsend irsend;

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

void loop(){
    if(Serial.read() != -1 ){
        for(int i=0; i<3; i++){
            irsend.sendSony(0xa90,12);
            delay(40);
        }
        //한번에 3번씩 16진수 a90을 전송
    }
}
#include <IRremote.h> 

 IRsend irsend; 
 uint8_t c; 

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

 void loop() { 
   if (Serial.available()) { 
     c = Serial.read(); 

     switch(c) { 
       case 'P':
       case 'p':
       Serial.println("Power");

         irsend.sendSam(0xE0E040BF, 32); // Samsung TV power code
         //irsend.sendSms(AFC3034C,32);
         break; 
       case '0':
         irsend.sendSam(0xE0E08877, 32); // 0
         //irsend.sendSms(1035C9DA,32);
         break; 
       case '1':
         irsend.sendSam(0xE0E020DF, 32); // 1
         break; 
       case '2':
         irsend.sendSam(0xE0E0A05F, 32); // 2
         break; 
       case '3':
         irsend.sendSam(0xE0E0609F, 32); // 3
         break; 
       case '4':
         irsend.sendSam(0xE0E010EF, 32); // 4
         break; 
       case '5':
         irsend.sendSam(0xE0E0906F, 32); // 5
         break; 
       case '6':
         irsend.sendSam(0xE0E050AF, 32); // 6
         break; 
       case '7':
         irsend.sendSam(0xE0E030CF, 32); // 7
         break; 
       case '8':
         irsend.sendSam(0xE0E0B04F, 32); // 8
         break; 
       case '9':
         irsend.sendSam(0xE0E0708F, 32); // 9
         break; 
       case 'V':
         irsend.sendSam(0xE0E0E01F, 32); // Volume Up
         break; 
       case 'v':
         irsend.sendSam(0xE0E0D02F, 32); // Volume Down
         break; 
       case 'C':
         irsend.sendSam(0xE0E048B7, 32); // Channel Up
         break; 
       case 'c':
        irsend.sendSam(0xE0E008F7, 32); // Channel Down
         break; 
       default: 
         break; 
     } 
     delay(40); 
   } 
 }