[아두이노#480] (ESP8266) 적외선(IR)리모컨 신호를 캡쳐하고 복제해서 전방향 리모컨 컨트롤러 만들어보기!(녹칸다/포로리야공대가자)
프로그래밍/아두이노 호작질 2022. 5. 13. 22:48
(ESP8266) 적외선(IR)리모컨 신호를 캡쳐하고 복제해서 전방향 리모컨 컨트롤러 만들어보기!
이번편은 집에서 흔히 사용하는 리모컨의 신호를 아두이노로 인식하고 반대로 복제해 낼 수 있는지 확인해보는 것이다!
리모컨의 신호를 아두이노로 읽어낼 수 있다면, 반대로 리모컨이 발사하는 신호를 아두이노가 그대로 흉내낼 수 있다!
TV와 아두이노를 직접연결해서 제어할 수는 없지만 리모컨은 가능하다!
그렇다면 아두이노가 리모컨을 제어하면 결국 TV를 제어 했다고 할 수 있는 것이다!
(녹칸다는 현재 TV와 IPTV셋톱박스를 제어하는데 흥미가 있음)
녹칸다가 사용하는 KT IPTV의 리모컨 신호를 알아내서 그대로 발사 했을때 TV가 작동되는지 알아보자!
그리고 리모컨으로 아두이노를 간단히 제어할 수 있도록 해보자!
(리모컨으로 아두이노 제어하기!)
최종적으로는 아두이노가 어떤 기능을 하기 위해서 전송해야하는 리모컨 신호를 학습시켜서 작동할 수 있도록 해보자!
예를들어 아두이노에 달려있는 LED가 켜지거나 꺼지는데 어떤 리모컨으로 신호를 보내줘야하는지는 모르는 상태이다!
이때 학습기능을 작동시키고 정해진 시간내 리모컨 버튼을 누르면 다음번 부터는 리모컨의 그 버튼을 눌르면 작동되는 것이다!
(이러한 정보는 까먹으면 안되니 EEPROM에 기록해두어야 할 것이다)
(실제로한거)
1.ESP8266에 IR수신기를 장착하고 리모컨신호를 읽어라!
2.LED 2개를 연결하고 리모컨에 1번을 누르면 1번LED가 토글되고 2번버튼을 누르면 2번LED가 토글되도록 하시오!
3.보드를 1대더 준비해서 D3에 리모컨 송신모듈을 연결하고 녹칸다의 리모컨에서 1번과 2번버튼을 눌렀을때의 신호를 발사하시오!
4.리모컨의 임의의 버튼을 눌렀을때 작동되도록 하기 위해서 학습시키시오!
5.(4)예제에서 학습된 결과를 EEPROM에 기록하고 재부팅될때 불러와서 사용할 수 있도록 하시오!
6.(5)에서 학습된 리모컨 신호를 송신하는 예제를 만드시오!
7.KT IPTV 셋톱박스에 켜고끄는 리모컨신호를 카피해서 MQTT로 전송하는 예제를 구현하시오!
8.479편예제와 연계해서 IPTV의 셋톱박스가 켜졌는지 꺼졌는지 판정하고 원격으로 on/off할수있는 기능을 구현하시오!
9.(보너스)C#윈폼으로 (8)번예제에서 만든 보드를 제어하시오!
관련라이브러리(IRremote_esp8266/2.7.13)
https://github.com/crankyoldgit/IRremoteESP8266