적외선 송신기 만들기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);
}
}
반응형
'개발 공부 > 프로젝트' 카테고리의 다른 글
ESP32-HTTP request: GET and POST (0) | 2023.11.23 |
---|---|
flask에서 request.args.get()의 의미 (0) | 2023.11.23 |
프로젝트 : 적외선 송신기 만들기2 (0) | 2023.10.20 |
프로젝트 : 적외선 송신기 만들기1 (0) | 2023.10.20 |
프로젝트 라즈베리파이를 이용해 서버에서 액츄레이터 제어 (0) | 2023.10.20 |