CAFE

한국직업능력교육원

[스크랩] [Arduino 39] IR 리모콘

작성자송명규|작성시간26.06.18|조회수28 목록 댓글 0

 

 

현재  IRremote 라이브러리 동작되는 버전은 V1.0,0,   V2.5.0  버전만 동작합니다.
그외 버전은 현재까진 동작하지 않습니다.

 

참고로 저희가 실습하는 리모콘은 별로 안 좋은거 같습니다.

키 채터링도 많고 접촉도 불안하고 Key 접점도 안 좋습니다.

참고로 리모콘 Key 값은 모델에 따라서, 회사에 따라서 다 다름니다.

이 부분 사용시 주의하시기 바랍니다.

아래는 저희가 사용하는 리모콘 모델 입니다.

 



#include <IRremote.h>

#include <ir_Lego_PF_BitStreamEncoder.h>



#include "My_Arduino_GPIO_Lib_V1_6.h"

 

#define Arduino       1

#define HW_Uart_mode  2

#include "My_MCU_Printf_Lib_V2_2.h"



#define IR_Pin   A0

 

//

IRrecv IR(IR_Pin);

decode_results rx_buf;



void setup() {

  // put your setup code here, to run once:

  pinMode(A0, INPUT);

 

  Serial.begin(115200);

 

  IR.enableIRIn();

}

 

void loop() {

  // put your main code here, to run repeatedly:

  // IR 수신 Data

if(IR.decode(&rx_buf) == 1){

   if((rx_buf.value == 0xFFFFFFFF) || ((rx_buf.value & 0xFF0000) == 0xFF0000)) goto k1;

    Serial.println(rx_buf.value, HEX);

  

  switch(rx_buf.value)

     {

      // Carmpa 사 리모콘 입니다. = Key Code Data는 리모콘 회사별로 다름니다.

       case 0xFF6897: digitalWrite(10, 0); break; // 0번 key = led1 on

       case 0xFF30CF: digitalWrite(10, 1); break; // 1번 key = led1 off

       case 0xFF18E7: digitalWrite(11, 0); break; // 2번 key = led2 on

       case 0xFF7A85: digitalWrite(11, 1); break; // 3번 key = ied2 off

       case 0xFF10EF: digitalWrite(12, 0); break; // 4번 key = led3 on

       case 0xFF38C7: digitalWrite(12, 1); break; // 5번 key = led3 off

       case 0xFF5AA5: break; // 6번

       case 0xFF42BD: break; // 7번

       case 0xFF4AB5: break; // 8번

       case 0xFF52AD: break; // 9번

       case 0xFFA25D: break; // CH-

       case 0xFF629D: break; // CH

       case 0xFFE21D: break; // CH+

       case 0xFF22DD: break; // PREV  <<

       case 0xFF02FD: break; // NEXT  >>

       case 0xFFC23D: break; // PLAY/PAUSE

       case 0xFFE01F: break; // VOL-

       case 0xFFA857: break; // VOL+

       case 0xFF906F: break; // EQ  

       case 0xFF9867: break;// 100+

       case 0xFFB04F: break;// 200+

    }

k1:    

   IR.resume();

  }

delay(300);

}

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼