적외선 수신기, 리모컨
적외선 수신기
- 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();
}
}