반응형
적외선 수신기(IR Receiver)
적외선 수신기는 적외선 리모컨 or 적외선 송신기에서 보내는 신호를 받는다.
리모컨으로 TV, 에어컨, 선풍기 등 제어하는 것 처럼 사용 할 수 있다.


회로도
적외선 수신기 회로도 그림이 이상하긴 하지만 아래 회로도 대로 연결 하면 된다.
(아무리 찾아도 적외선 수신기 그림이 저거 밖에 없다.)

코드 구현
리모컨이 누른 IR 수신 정보를 출력 해준다.
실행이 안되면 <IR.H> 를 추가해야한다.
#include <IR.h>//적외선 수신기 사용
#define IR_PIN 13
unsigned long last = millis();
IRrecv irrecv(IR_PIN);
decode_results decResult;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop()
{
if (irrecv.decode(&decResult) == true)
{
Serial.println(decResult.value, HEX);
Serial.println(getDecodetype(decResult.decode_type));
if(millis() - last > 250)
{
last = millis();
irrecv.resume();
}
}
}
String getDecodetype(int type)
{
String szType="Type : ";
switch(type)
{
case NEC: szType.concat("NEC");
break;
case SONY: szType.concat("SONY");
break;
case RC5: szType.concat("RC5");
break;
case RC6: szType.concat("RC6");
break;
case DISH: szType.concat("DISH");
break;
case SHARP: szType.concat("SHARP");
break;
case PANASONIC: szType.concat("PANASONIC");
break;
case JVC: szType.concat("JVC");
break;
case SANYO: szType.concat("SANYO");
break;
case MITSUBISHI: szType.concat("MITSUBISHI");
break;
case SAMSUNG: szType.concat("SAMSUNG");
break;
case LG: szType.concat("LG");
break;
default: szType.concat("Unknown");
break;
}
return szType;
}
반응형
'Arduino' 카테고리의 다른 글
[Arduino] 아두이노 시리얼 모니터에 값 입력받기 (0) | 2024.02.06 |
---|---|
[Arduino] 아두이노 시리얼 모니터 값 출력하기 (0) | 2024.02.06 |
[Arduino] 아두이노 서보모터 사용하기 (0) | 2024.02.02 |
[Arduino] 아두이노 RGB LED 사용하기 (0) | 2024.02.02 |
[Arduino] 아두이노 조이스틱 사용하기 (0) | 2024.02.02 |