Course Content
코딩소스
0/1
[아두이노 키트] IR수신센서/적외선 리모컨
About Lesson

기본설정

  1. 아두이노 설치 및 환경설정이 완료된 상태여야 합니다.

2. 라이브러리는 하기 버튼을 눌러 다운로드하고 설치하세요

3. 아래 소스코드를 보드설정-컴파일-업로드 과정을 진행 후 실행하세요

소스 코드

– 코드설명 :

1. 코드값 확인 및 등록방법 :

“1번 버튼을 눌렀습니다.”, “2번 버튼을 눌렀습니다.” 등이 시리얼 모니터에 출력하는 방법입니다.

  • 먼저 코딩소스를 아두이노에 업로드 합니다.
  • 리모컨의 1,2,3 버튼을눌러 수신된 코드를 확인하고 복사합니다.
  • 수신된 코드를 receiveCode== 다음에 붙여넣습니다.
  • 1,2,3에 해당하는 코드를 모두 붙여넣으면 수정된 코드를 아두이노에 업로드합니다.

2. 작동설명

  • 적외선 리모컨은 버튼을 누르면 적외선 신호를 전송합니다.
  • 적외선 수신기는 해당 신호를 감지해 전기적 변화를 발생시킵니다.
  • 수신된 값 (D2 핀)
    – 리모컨 버튼을 누르면 고유한 코드 값이 아두이노로 전달됩니다.
    – 아두이노는 이 값을 시리얼 모니터에 16진수 형태로 출력합니다.
  • 시리얼 모니터 출력
    – 전달된 코드 값에 따라 아두이노가 원하는 메시지를 시리얼 모니터에 출력합니다.
    예시) 0xFFA25D → “1번 버튼을 눌렀습니다.”
              0xFF629D → “2번 버튼을 눌렀습니다.”
              기타 → “다른 버튼을 눌렀습니다.”
				
					#include <IRremote.h>

int RECV_PIN = 5;   // IR 수신기 연결 핀

void setup() {
  Serial.begin(9600);
  Serial.println("IR 수신 시작");
  
  IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK);  // IR 수신 시작
}

void loop() {
  if (IrReceiver.decode()) {
    Serial.print("수신된 코드: 0x");
    Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);  // 수신 코드 16진수 출력
    
    // 코드 값에 따라 다른 메시지 출력
    uint32_t receivedCode = IrReceiver.decodedIRData.decodedRawData;
    
    if (receivedCode == 0xF30CFF00) {   // 1번 버튼
      Serial.println("1번 버튼을 눌렀습니다.");
    } else if (receivedCode == 0xE718FF00) {  // 2번 버튼
      Serial.println("2번 버튼을 눌렀습니다.");
    } else if (receivedCode == 0xA15EFF00) {  // 3번 버튼
      Serial.println("3번 버튼을 눌렀습니다.");
    }
    
    IrReceiver.resume();  // 다음 신호 대기
  }
}
				
			

작동영상