ESP32 IR 리모컨 제어
당신은 아마도 집에서 TV나 에어컨과 같은 기기를 사용할 때 적외선 리모컨, 또는 IR 리모컨이라고도 불리는 것을 마주친 적이 있을 것입니다... 이 가이드에서는 적외선(IR) 리모컨과 적외선 수신기를 사용하여 ESP32를 제어하는 방법을 배울 것입니다. 자세히 말하자면, 다음을 배울 것입니다:
- ESP32 보드에 IR 리시버를 연결하는 방법
- IR 리시버를 통해 IR 리모콘에서 명령을 읽어내도록 ESP32를 프로그래밍하는 방법

준비물
1 | × | ESP32 ESP-WROOM-32 개발 모듈 | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-A to 타입-C (USB-A PC용) | 쿠팡 | 아마존 | |
1 | × | USB 케이블 타입-C to 타입-C (USB-C PC용) | 아마존 | |
1 | × | IR Remote Controller and Receiver Kit | 아마존 | |
1 | × | CR2025 배터리 (IR 리모컨용) | 아마존 | |
1 | × | 브레드보드 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 스크루 터미널 확장 보드 | 쿠팡 | 아마존 | |
1 | × | (추천) ESP32용 전원 분배기 | 쿠팡 | 아마존 |
IR 리모컨에 관하여
IR 컨트롤 시스템에는 두 가지 구성 요소가 있습니다: IR 리모컨과 IR 수신기입니다.
- IR 리모컨은 적외선 신호를 사용하여 명령을 보냅니다.
- IR 수신기는 이러한 신호를 포착하여 해석함으로써 장치를 제어합니다.
IR 키트는 일반적으로 위에서 언급한 두 가지 구성 요소로 구성됩니다: IR 리모컨과 IR 수신기.
IR 리모컨
IR 리모컨은 적외선 신호를 발산하는 휴대용 장치입니다. 여러 버튼이 있는 키패드로 설계되었습니다:
- 원격 제어기의 각 버튼은 특정 기능이나 명령에 할당됩니다.
- 버튼을 누르면, 원격 제어기는 눌린 버튼과 연결된 고유한 코드나 패턴을 포함하는 적외선 신호를 방출합니다.
- 이러한 적외선 신호는 적외선 스펙트럼 내에 있으며 인간의 눈에는 보이지 않습니다.

IR 수신기
IR 리시버 모듈은 리모컨이 발신하는 적외선 신호를 감지하고 수신하는 센서입니다.
적외선 수신기는 들어오는 적외선 신호를 감지하고 그것을 리모컨에 눌린 버튼을 나타내는 코드(명령)로 변환합니다.
IR 리시버는 센서 또는 모듈일 수 있습니다. 다음 선택지를 사용할 수 있습니다:
- IR 리시버 모듈만
- IR 리시버 센서만
- IR 리시버 센서 + 어댑터


IR 수신기 핀배열
IR 수신기 모듈 또는 센서는 세 개의 핀이 있습니다:
- VCC 핀: 이 핀을 ESP32의 3.3V 또는 5V 핀 또는 외부 전원원에 연결하세요.
- GND 핀: 이 핀을 ESP32의 GND 핀 또는 외부 전원원에 연결하세요.
- OUT(출력) 핀: 이 핀은 IR 수신 모듈의 출력 핀입니다. ESP32의 디지털 입력 핀에 연결됩니다.
작동 원리
사용자가 IR 리모컨의 버튼을 누를 때
- IR 리모컨은 특정 프로토콜을 통해 버튼에 해당하는 명령을 적외선 신호로 인코딩합니다
- IR 리모컨은 인코딩된 적외선 신호를 방출합니다
- IR 수신기는 인코딩된 적외선 신호를 수신합니다
- IR 수신기는 인코딩된 적외선 신호를 명령으로 디코드합니다
- ESP32는 IR 수신기로부터 명령을 읽습니다
- ESP32는 명령을 눌린 키에 매핑합니다
IR 리모컨의 버튼이 눌리면 다음 일련의 사건이 발생합니다:
- IR 리모컨은 특정 프로토콜을 사용하여 버튼의 명령을 적외선 신호로 인코딩합니다.
- 인코딩된 적외선 신호는 IR 리모컨에 의해 방출됩니다.
- IR 수신기는 인코딩된 적외선 신호를 캡쳐하고 수신합니다.
- IR 수신기는 적외선 신호를 디코딩하여 원래의 명령으로 다시 변환합니다.
- ESP32는 IR 수신기에서 명령을 읽고 검색합니다.
- 그런 다음 ESP32는 수신된 명령을 IR 리모컨에서 눌린 해당 버튼과 매핑합니다.
본질적으로, 이 단계들은 IR 리모컨의 버튼 누름이 ESP32가 이해하고 처리할 수 있는 인식 가능한 명령으로 변환되는 방법을 개요로 설명합니다.
응답 재생성
복잡해 보일 수 있지만 걱정하지 마세요. 사용자 친화적인 DIYables_IRcontroller 라이브러리 덕분에 이를 달성하는 것이 놀랍도록 쉬워집니다.
선연결
ESP32와 IR 수신 모듈 간의 연결도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.
ESP32와 IR 리시버 센서 간의 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
ESP32와 IR 수신 센서 및 어댑터 간의 배선도
IR 수신기 센서를 ESP32에 연결하기 전에, 어댑터에 연결할 수 있는 옵션이 있습니다. 이를 통해 IR 수신기 센서를 ESP32와 더 쉽게 통합하고 설정할 수 있습니다.

IR 리모컨 프로그래밍 방법
라이브러리를 포함하세요:
- 17키 또는 21키 IR 리모컨에 해당하는 DIYables_IRcontroller_17 또는 DIYables_IRcontroller_21 객체를 선언합니다:
IR 컨트롤러를 초기화하세요.
루프에서 키가 눌렸는지 아닌지를 확인하세요. 만약 그렇다면, 키를 가져오세요.
키 입력을 감지한 후, 각 키에 따라 동작을 수행할 수 있습니다.
ESP32 코드
DIYables 17키 IR 리모콘 컨트롤러를 위한 ESP32 코드
DIYables 21키 IR 리모컨용 ESP32 코드
사용 방법
- ESP32를 처음 사용하는 경우, ESP32 - 소프트웨어 설치을 확인하세요.
- Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
- "DIYables_IRcontroller"를 검색한 다음, DIYables의 DIYables_IRcontroller 라이브러리를 찾으세요.
- DIYables_IRcontroller 라이브러리를 설치하려면 Install 버튼을 클릭하세요.

아래 이미지와 같이 라이브러리 종속성 설치가 요청됩니다:

- 종속성을 설치하려면 Install All 버튼을 클릭하세요.
- 위의 코드를 복사하고 Arduino IDE로 열기
- Arduino IDE에서 코드를 ESP32에 업로드하려면 Upload 버튼을 클릭하세요.
- 리모컨의 키를 하나씩 누르십시오.
- 시리얼 모니터에서 결과를 확인하세요.
- 21키 IR 컨트롤러의 키를 하나씩 누를 때 다음과 같은 결과가 나타납니다:
이제 IR 리모컨을 사용하여 LED, 팬, 펌프, 구동기 등과 같은 다양한 장치를 제어하고 코드를 맞춤 설정할 수 있는 능력을 갖게 되었습니다. 이는 리모컨을 통해 보낸 명령에 이러한 장치들이 반응하도록 코드를 변경할 수 있다는 것을 의미합니다.
동영상
비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.