적외선 수신기, 리모컨

아두위키 : Arduwiki

적외선 수신기

  • 38KHz 대역의 적외선을 수신하여 출력하는 센서입니다.
  • 수신만 가능합니다.

IR 리모컨

  • 적외선 수신기로 수신할수 있는 신호를 보내는 리모컨입니다.

스펙

적외선 수신 센서

  • 작동 전압 : 2.7V ~ 5.5V
  • 수신 각도 : 약 90도
  • 적외선 주파수 : 38KHz

리모컨

  • 작동 전압 : 5V
  • 주파수 : 38KHz

하드웨어

연결

아두이노 우노 적외선 수신 센서 LED 저항
5V VCC
GND GND -
A0 연결
D8 +
OUT 연결

라이브러리 (라이브러리 매니저로 설치)

  • IRremote by shirriff
  • z3t0
  • ArminJo

라이브러리 설치방법

예제 코드

버튼별 적외선 수신 값 확인

리모콘의 버튼을 누르면 해당 버튼에 해당하는 값이 시리얼 모니터에 표시됩니다.

#include <IRremote.h>

#define irOut A0

IRrecv irrecv(irOut);

void setup() {
  Serial.begin(9600);
  Serial.println("Serial start");
  irrecv.enableIRIn();
}

void loop() {
  if (IrReceiver.decode()) {
    Serial.println(IrReceiver.decodedIRData.decodedRawData);
    irrecv.resume();
  }
}

메인 코드

리모컨 버튼을 누르면 LED가 켜지도록 하는 코드입니다.

위에서 확인한 수신 값을 18번째 줄 코드에 적용하여 업로드합니다. 본문에서는 0번 버튼을 활용했습니다.

#include <IRremote.h>

#define irOut A0
#define led 8

IRrecv irrecv(irOut);

void setup() {
  pinMode(led, OUTPUT);
  digitalWriteFast(led, LOW);
  Serial.begin(9600);
  Serial.println("Serial start");
  irrecv.enableIRIn();
}

void loop() {
  if (IrReceiver.decode()) {
    if (IrReceiver.decodedIRData.decodedRawData == 3910598400)
      digitalWrite(led, HIGH);
    else
      digitalWrite(led, LOW);
    irrecv.resume();
  }
}

실행 결과

구매 링크

적외선 리모컨

적외선 수신기