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개
![]() |
![]() |
![]() |
![]() |
![]() |
아두이노 우노 R3 | TSOP1838 IR 적외선 센서 | 적외선 리모컨 | LED | 릴레이 모듈 |
![]() |
||||
300옴 저항 |
회로 결선도
아두이노 | 적외선 센서 | 릴레이 모듈 | LED red | LED blue |
+5V | VCC | VCC | ||
GND | GND | GND | GND | GND |
A0 | S | |||
D7 | IN | |||
D8 | "+" | |||
D9 | "+" |
위 회로에서 릴레이 모듈의 VCC를 아두이노의 +5V에 연결하고, 릴레이 모듈의 IN을 아두이노핀의 A0에 연결한다.
다음은 실지 회로도이다.
위와 같이 회로를 구성하고 아두이노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
'아두이노 센서 모듈 활용' 카테고리의 다른 글
액체감지 센서를 사용한 아두이노 액체감지 시스템 (0) | 2024.05.12 |
---|---|
HW-038 수위센서를 사용한 아두이노 수위 측정기 (0) | 2024.05.11 |
TEA5767 사용한 아두이노 라디오 EP01 (0) | 2024.05.01 |
유량센서 YF-S401 활용한 유량 측정기 (0) | 2024.04.26 |
아두이노를 활용한 키패드 도어락 (0) | 2023.07.11 |