아두이노 중급
정도 과정에서 활용할 수 있을 것 같습니다.적외선 리모컨은 일반적으로 아두이노 키트에 함께 들어있는 경우가 많으며, 같이 생겼습니다.
IRremote
모듈을 사용해 보았습니다.
스케치 실행 - 툴 - 라이브러리 관리 -
IRremote
검색 & 다운
#include <IRremote.h> // 다운받은 라이브러리 활용
int input_pin = 2; //입력핀의 설정
IRrecv irrecv(input_pin); //IRrecv 객체생성
decode_results signals; //수신 데이터 저장 구조체 선언
void setup()
{
Serial.begin(9600); //시리얼 통신
irrecv.enableIRIn(); //수신시작
pinMode(13, OUTPUT); // LED 출력 선언(회로도에 첨부 안함)
}
void loop() {
//수신되는 내용이 있을 경우만 시리얼모니터에 표시함
if (irrecv.decode(&signals)) //수신을 받으면
{
if (signals.decode_type == NEC) // NEC 포맷의 IR신호(수신된 적외선 신호를 해석해 16진수 코드로 변환)
{
switch (signals.value) // 수신한 값을 각 case와 비교
{
case 0x00FF6897: //key 0
Serial.println("key id 0");
digitalWrite(13, HIGH);
break;
case 0x00FF30CF: //key 1
Serial.println("key id 1");
digitalWrite(13, LOW);
break;
case 0x00FF18E7: //key2
Serial.println("key id 2");
break;
default:
break;
}
}
irrecv.resume(); //다음값 수신
}
}
수신된 적외선 신호를 해석해 16진수 코드로 변환