블로그 이미지
조이키트 블로그
아두이노, 라즈베리파이, 반도체 센서/모듈 활용

calendar

1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Notice

250x250
728x90
반응형

TSOP1838  IR 적외선 센서를 사용하여 리모컨으로 아두이노를 제어하는 프로젝트를 만들어 보겠다.

 

 

이를 위해서는 TSOP1838  IR 적외선 감지센서와 리모컨 모듈을 사용하여 리모컨에서 받은 신호를 감지하고, 해당 신호에 따라 아두이노가 작동하도록 프로그래밍 해야 한다.

 

동작 : 아두이노에 적외선 센서를 연결하여 리모컨으로 LED와 릴레이 모듈을 제어하는 기능을 수행한다.

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

https://link.coupang.com/a/b2vSOT

 

ATmega328P 마이크로 컨트롤러가 있는 아두이노 우노 R3 개발 보드 - 액세서리 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

https://link.coupang.com/a/b2FHco

 

TSOP1838 적외선 37.9Khz 수신기 모듈 - LED모듈/조명모듈 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

https://link.coupang.com/a/b2FEbX

 

아두이노 릴레이 1채널 5V 모듈 - 액세서리 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

https://link.coupang.com/a/b2FJHB

 

MCU HX1838 적외선 무선 리모컨 키트 - 리모컨 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

https://link.coupang.com/a/b2FIQq

 

12V 1채널 리모컨 제어 릴레이 모듈 - 기타전기설비부자재 | 쿠팡

쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.

www.coupang.com

 

 

준비품 : 아우이노UNO R3, TSOP1838  IR 적외선 센서, 적외선 리모컨, LED_red, LED_blue, 릴레이  모듈, 300옴 저항_2개

 

아두이노UNO
적외선 리모컨
LED_red_blue
릴레이 모듈
아두이노 우노 R3 TSOP1838  IR 적외선 센서  적외선 리모컨 LED 릴레이 모듈
300옴 저항
       
300옴 저항        

 

회로 결선도

아두이노 적외선 센서 릴레이 모듈 LED red LED blue
+5V VCC VCC    
GND GND GND GND GND
A0 S      
D7   IN    
D8     "+"  
D9       "+"

아두이노와 적외선센서 회로연결

위 회로에서 릴레이 모듈의 VCC를 아두이노의 +5V에 연결하고, 릴레이 모듈의 IN을 아두이노핀의 A0에 연결한다.

다음은 실지 회로도이다.

아두이노, 적외선 센서, 릴레이모듈, LED 연결 회로

 

위와 같이 회로를 구성하고 아두이노IDE에 코드를 작성한다.

 

코딩 

#include <IRremote.h>   // 적외선 함수 라이브러리 선언
int RECV_PIN = A0;    // 적외선 센서 신호를 아날로그핀 A0로 송수신 함
int led_red = 8;  // LED red를 D8로 선언
int led_blue = 9;  // LED blue를 D9로 선언
int swich = 7;    // 릴레이 입력을 D7로 선언

IRrecv irrecv(RECV_PIN);  //  IRremote를 사용하기 위해 irrecv객체 생성
decode_results results;   // 디코드한 결과 값

void setup()
{
 Serial.begin(9600);
  irrecv.enableIRIn();  // Start the receiver
  pinMode(led_red, OUTPUT);  // LED red
  pinMode(led_blue, OUTPUT);  // LED blue
  pinMode(swich, OUTPUT); // swich_on/off
  }

  void loop(){
  if(irrecv.decode(&results)){  // 적외선 리모컨의 신호를 받을 때
  Serial.println(results.value, HEX);  // 결과값을 HEX로 출력
  switch (results.value){
      case 0x80c: digitalWrite(8, HIGH); break; //전원버튼이 눌리면 LED_red ON
      case 0xc: digitalWrite(8, LOW); break; //전원버튼이 다시 눌리면 LED_red OFF
      case 0x80b: digitalWrite(9, HIGH); break; //AV/TV 버튼이 눌리면 LED_blue ON
      case 0xb: digitalWrite(9, LOW); break; //AV/TV버튼이 눌리면 LED_blue OFF
      case 0x80d: digitalWrite(7, HIGH); break; // CH_up버튼이 눌리면 swich ON
      case 0xd: digitalWrite(7, LOW); break;  // CH_down버튼이 눌리면 swich OFF    
        }
       irrecv.resume();  // 수광 다이오드 다음 값 받기
}
}

 

위의 코딩에서 HEX값인 0x80c, 0xc, 0x80b, 0xb, 0x80d, 0xd는 아두이노를 USB케이블을 연결하고 실행한 다음 리모컨으로 버튼을 눌렀을 때 아두이노 IDE의 툴/ 시리얼 모니터를 실행하면 해당버튼을 눌렀을 때에 따른 HEX값이 출력된다. 

리모컨 버튼 기능마다 HEX값이 다르므로 시리얼 모니터를 확인하고 출력된 값을 코딩에 입력하면 된다.

 

시리얼 모니터 출력 결과

리모컨을 눌렀을 때 시리얼 모니터 출력

 

다음은 리모컨을 눌렀을 때 LED와 릴레이 모듈을 제어하는 영상이다.

 

출력 결과

https://www.youtube.com/watch?v=hI1UjD9TyUo

 

 

728x90
반응형
posted by 조이키트 블로그