IR 리모컨 연결을 위한 아두이노(Arduino) 소스 코드
리모컨 리시버 모듈(IR Receiver module)은 HX1838입니다. 구글에서 검색하면 정보가 많고, 저도 구글링을 통해 아래 소스를 찾았습니다. 리모컨 모양은 달라도 모듈이 같으면 되니, 리모컨 버튼들의 고유 키값만 알아내시면 됩니다.
IR 리모컨 연결은 아래 링크로 연결된 라이브러리를 사용하면 쉽습니다. 혹시나, 아두이노를 설치하면 기본 라이브러리로 제공되는 RobotIRremote 는 사용하지 마세요! 에러납니다. 우선 링크 따라가서 라이브러리를 받습니다.
GitHub Arduino-IRremote(https://github.com/z3t0/Arduino-IRremote)
아래 화면에서 Download ZIP 버튼을 눌러 다운 받으시면 됩니다.
압축파일을 풀어서 아두이노 라이브러리 폴더에 복사해 놓습니다. 핀만 제대로 연결한다면 연결시 어려운 점은 없었고, 우선 가장 먼저 해야 할 일은 정확한 키값을 알아내는 것입니다. 이것도 해당 라이브러리에 있는 예제를 이용하면 쉽게 해결할 수 있습니다. 아래와 같이 IRrecvDemo 예제를 열기합니다. 리모컨을 이용하기에 송신은 전혀 볼 필요가 없겠네요!
위와 같이 열릴 것입니다. 먼저 사용하려는 핀번호로 고쳐 줍니다. int RECV_PIN = 11; 에서 제가 사용할 12번 핀으로 변경했습니다. 이것만 해주면 바로 컴파일 및 실행하면 끝입니다.
위와 같이 리모컨의 버튼을 누를 때마다 고유 키값이 시리얼 모니터에 헥사값으로 출력됩니다. 이렇게 해서 아래와 값이 고유 키값을 얻었습니다.
Up : FF629D
Down : FFA857
Left : FF22DD
Right : FFC23D
OK : FF02FD
1 : FF6897
2 : FF9867
3 : FFB04F
4 : FF30CF
5 : FF18E7
6 : FF7A85
7 : FF10EF
8 : FF38C7
9 : FF5AA5
* : FF42BD
0 : FF4AB5
# : FF52AD
이상으로 IR 리모트 컨트롤에 대한 테스트 및 사전 준비를 마치고,
다음 글에서는 디스플레이 부분에 대해 다루겠습니다.