본문 바로가기
개발 공부/프로젝트

프로젝트 : 적외선 송신기 만들기3

by momo'sdad 2023. 10. 20.

적외선 송신기 만들기3

아두이노 예제 -5편- 블루투스로 아두이노 원격 제어(1)

아두이노 예제 -6편- 블루투스로 아두이노 원격 제어(2)

링크를 참고

일단 TV 리모컨을 만들어 보았다. 문제가 있었다면 TV의 적외선 수신부와 셋탑박스의 수신부의 거리가 상당히 멀었다는 게 문제점.. 따라서 적외선 송신기를 2개를 사용할 수밖에 없었다.

위의 블루투스 모듈 사용법과 아래의

아두이노로 적외선 리모컨 만들기 -2편- 적외선 LED 다루기(IR LED)

이전 편의 적외선 송신기 사용법을 보고 블루투스 모듈과 적외선 송신기를 함께 아두이노에 연결해주면 된다.

그 뒤엔

아두이노로 적외선 리모컨 만들기 -1편- 적외선 수신기 다루기(IR receiver)

앞서 다루었던 적외선 수신기로 받은 적외선 신호 값들을

코드에 적어 송신해주면 된다.

#include <SoftwareSerial.h>
#include <IRremote.h>
IRsend irsend;
SoftwareSerial btSerial(5,4);

void setup() {
  btSerial.begin(9600);
}

void loop() {
  if (btSerial.available()){
    char bt = btSerial.read();
    // Turn on/off
    if(bt == 'p') {
      irsend.sendNEC(0x20DF10EF, 32);
      delay(500);
      irsend.sendNEC(0x122430CF, 32);
    }
    // volume up/down
    else if(bt == 'v') irsend.sendNEC(0x1224C837, 32);
    else if(bt == 'w') irsend.sendNEC(0x122428D7, 32);
    // channel up/down
    else if(bt == 'c') irsend.sendNEC(0x1224E817, 32);
    else if(bt == 'd') irsend.sendNEC(0x122418E7, 32);
    // channel
    else if(bt == '0') irsend.sendNEC(0x122400FF, 32);
    else if(bt == '1') irsend.sendNEC(0x1224807F, 32);
    else if(bt == '2') irsend.sendNEC(0x122440BF, 32);
    else if(bt == '3') irsend.sendNEC(0x1224C03F, 32);
    else if(bt == '4') irsend.sendNEC(0x122420DF, 32);
    else if(bt == '5') irsend.sendNEC(0x1224A05F, 32);
    else if(bt == '6') irsend.sendNEC(0x1224609F, 32);
    else if(bt == '7') irsend.sendNEC(0x1224A659, 32);
    else if(bt == '8') irsend.sendNEC(0x122400FF, 32);
    else if(bt == '9') irsend.sendNEC(0x1224906F, 32);
  }
}
반응형