메뉴 건너뛰기

XEDITION

아두이노

#include <IRremote.h>
#include <IRremoteInt.h>

//IRrecv irrecv(11);     //IRrecv 객체를 만듭니다 (아날로그 5번핀으로 수신)
IRrecv irrecv(A5);     //IRrecv 객체를 만듭니다 (아날로그 5번핀으로 수신)
decode_results result;  //수신받은 데이타를 저장할 구조체를 만듭니다

volatile unsigned long IR_code;

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("Other :" + result.value);
   Serial.println("n Other Remote :");
  }

  IR_code = result.value;

  switch (IR_code)
  {
  case(0xA9AEAB34):
      //digitalWrite(IN1, HIGH);
      //digitalWrite(IN2, LOW);
      //analogWrite(3, 255);
      Serial.print("Front Data Dn : ");     
      break;   
 
  case(0xF3EAEB56):
      //digitalWrite(IN1, LOW);
      //digitalWrite(IN2, LOW);
      //analogWrite(3, 255);
      Serial.print("Back Data Dn : ");     
      break;

  case(0xF3EAEB55):
      Serial.print("Left Data Dn : ");     
      break;
   
  case(0x2804976D):
      Serial.print("Right Data Dn : ");     
      break;

  case (0x315CB683): 
      //digitalWrite(IN2,HIGH);  //motor stop
      Serial.print("Btn Up : Stop Action");
      break;

  case (0x7B1FB3B8): 
      //digitalWrite(IN2,HIGH);  //motor stop
      Serial.print("Front && Left");
      break;

  case (0x32D19EA0): 
      //digitalWrite(IN2,HIGH);  //motor stop
      Serial.print("Front && Right");
      break;

  case (0xF236570A): 
      //digitalWrite(IN2,HIGH);  //motor stop
      Serial.print("Back && Left");
      break;

  case (0xF19EF067): 
      //digitalWrite(IN2,HIGH);  //motor stop
      Serial.print("Back && Right");
      break;

 

  default:
    Serial.print("Data: ");
    Serial.println(IR_code, HEX); //받은 데이타를 16진수로 표시합니다
    Serial.print("Length: ");
    Serial.println(IR_code, DEC); //데이타의 길이를 10진수로 표시합니다.

    break;
  }

 
  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
» ir 리모컨 수신 test ( 현제 작업중 소스) [1] file 묵묵이 2017.01.12 4
9 ir 적외선 센서를 이용한 거리 측청 - test 잘됨 묵묵이 2017.01.12 2
8 초음파 센서 참고 소스 [1] 묵묵이 2017.01.12 4
7 아두이노 기초강좌 - IR 센서 [1] 묵묵이 2017.01.11 7
6 Arduino 아두이노 - relay module control 릴레이 모듈 제어 [1] 묵묵이 2017.01.10 19
5 아두이노 나노 알아보기 묵묵이 2017.01.10 2
위로