Devices & Components
Arduino Nano
Super-bright 5mm IR LED - 940nm
Resistor 220 ohm
Blue LED
USB Pigtail
IR (Infrared) Receiver Sensor - TSOP38238
Hardware & Tools
Soldering iron (generic)
Hot glue gun (generic)
Project description
Code
TV IR remote to Speaker IR remote code translator
arduino
recieve IR codes from TV IR remote control, send code for speaker system You will first need to gather the IR codes for your TV's remote and your speaker system remote. See "IR Remote" tutorials elsewhere for how to do this. The below is for LG Magic Remote and EDIFIER R1280DB speakers.
1#include <IRLibSendBase.h> 2#include <IRLibDecodeBase.h> // First include 3 the decode base 4#include <IRLib_P01_NEC.h> 5#include <IRLibCombo.h> 6#include 7 <IRLibRecv.h> 8IRdecodeNEC myDecoder; // Now declare an instance of that decoder. 9IRsend 10 mySender; //pin 3 is set aas IR LED transmitter output by IRLibSendBase.h 11IRrecv 12 myReceiver(2); //pin number for the receiver 13 14void setup() { 15 myReceiver.enableIRIn(); 16 //Start the receiver 17 pinMode(4, OUTPUT); //BLUE LED CONNECTED TO PIN 4 18 19 pinMode(13, OUTPUT); 20 digitalWrite(13, LOW); 21} 22 23void loop() { 24 25 digitalWrite(4, LOW); 26 if (myReceiver.getResults()) { 27 if (myDecoder.decode()) 28 { 29 switch (myDecoder.value) { 30 case 0xFF827D: mySender.send(NEC, 31 0x8E7906F, 0); //if rcv TV VOL UP, send SPKR VOL UP 32 delay(25); 33 34 digitalWrite(4, HIGH); // 1st BLUE LED BLINK 35 delay(200); 36 37 digitalWrite(4, LOW); 38 delay(25); 39 mySender.send(NEC, 40 0x8E7906F, 0); //resend SPKR VOL UP 41 delay(25); 42 digitalWrite(4, 43 HIGH); // 2nd BLUE LED BLINK (2 BLINKS FOR VOL UP) 44 delay(200); 45 46 digitalWrite(4, LOW); 47 break; 48 49 case 0xFFA25D: 50 mySender.send(NEC, 0x8E730CF, 0); //if rcv TV VOL DOWN, send SPKR VOL DOWN 51 delay(25); 52 53 digitalWrite(4, HIGH); // 1 BLUE BLINK FOR VOL DOWN 54 delay(200); 55 56 digitalWrite(4, LOW); 57 delay(25); 58 mySender.send(NEC, 59 0x8E730CF, 0); //resend SPKR VOL DOWN 60 delay(25); 61 mySender.send(NEC, 62 0x8E730CF, 0); //resend SPKR VOL DOWN 63 delay(25); 64 break; 65 66 67 case 0xFF12ED: mySender.send(NEC, 0x8E700FF, 0); //if rcv TV MUTE, 68 send SPKR MUTE 69 delay(25); 70 digitalWrite(4, HIGH); // LONG 71 BLUE BLINK FOR MUTE ACKNOWLEDGED 72 delay(800); 73 break; 74 75 } 76 } 77 78 delay(200); 79 digitalWrite(4, LOW); 80 myReceiver.enableIRIn(); 81 //Re-enable rcvr after sending 82 } 83}
TV IR Remote translator
arduino
1#include <IRLibSendBase.h> 2#include <IRLibDecodeBase.h> // First include the decode base 3#include <IRLib_P01_NEC.h> 4#include <IRLibCombo.h> 5#include <IRLibRecv.h> 6IRdecodeNEC myDecoder; // Now declare an instance of that decoder. 7IRsend mySender; // Pin 3 set as IR LED by IRLibSendBase.h 8IRrecv myReceiver(2); // Pin 2 is IR receiver 9 10void setup() { 11 myReceiver.enableIRIn(); //Start the receiver 12 pinMode(4, OUTPUT); // Pin 4 is BLUE LED for visual confirmation of "IR command sent" 13 pinMode(13, OUTPUT); 14 digitalWrite(13, LOW); 15} 16 17void loop() { 18 digitalWrite(4, LOW); 19 if (myReceiver.getResults()) { 20 if (myDecoder.decode()) { 21 switch (myDecoder.value) { 22 case 0xFF827D: mySender.send(NEC, 0x8E7906F, 0); //if rcv TV VOL UP, send SPKR VOL UP 23 delay(25); 24 digitalWrite(4, HIGH); // 1st BLUE LED BLINK 25 delay(200); 26 digitalWrite(4, LOW); 27 delay(25); 28 mySender.send(NEC, 0x8E7906F, 0); //resend SPKR VOL UP 29 delay(25); 30 digitalWrite(4, HIGH); // 2nd BLUE LED BLINK (2 BLINKS FOR VOL UP) 31 delay(200); 32 digitalWrite(4, LOW); 33 break; 34 35 case 0xFFA25D: mySender.send(NEC, 0x8E730CF, 0); //if rcv TV VOL DOWN, send SPKR VOL DOWN 36 delay(25); 37 digitalWrite(4, HIGH); // SINGLE BLUE BLINK FOR VOL DOWN 38 delay(200); 39 digitalWrite(4, LOW); 40 delay(25); 41 mySender.send(NEC, 0x8E730CF, 0); //resend SPKR VOL DOWN 42 delay(25); 43 mySender.send(NEC, 0x8E730CF, 0); //resend SPKR VOL DOWN 44 delay(25); 45 break; 46 47 case 0xFF12ED: mySender.send(NEC, 0x8E700FF, 0); //if rcv TV MUTE, send SPKR MUTE 48 delay(25); 49 digitalWrite(4, HIGH); // LONG BLUE BLINK FOR MUTE ACKNOWLEDGED 50 delay(800); 51 break; 52 } 53 } 54 55 delay(200); 56 digitalWrite(4, LOW); 57 myReceiver.enableIRIn(); //Re-enable rcvr after sending 58 } 59}
TV IR remote to Speaker IR remote code translator
arduino
recieve IR codes from TV IR remote control, send code for speaker system You will first need to gather the IR codes for your TV's remote and your speaker system remote. See "IR Remote" tutorials elsewhere for how to do this. The below is for LG Magic Remote and EDIFIER R1280DB speakers.
1#include <IRLibSendBase.h> 2#include <IRLibDecodeBase.h> // First include the decode base 3#include <IRLib_P01_NEC.h> 4#include <IRLibCombo.h> 5#include <IRLibRecv.h> 6IRdecodeNEC myDecoder; // Now declare an instance of that decoder. 7IRsend mySender; //pin 3 is set aas IR LED transmitter output by IRLibSendBase.h 8IRrecv myReceiver(2); //pin number for the receiver 9 10void setup() { 11 myReceiver.enableIRIn(); //Start the receiver 12 pinMode(4, OUTPUT); //BLUE LED CONNECTED TO PIN 4 13 pinMode(13, OUTPUT); 14 digitalWrite(13, LOW); 15} 16 17void loop() { 18 digitalWrite(4, LOW); 19 if (myReceiver.getResults()) { 20 if (myDecoder.decode()) { 21 switch (myDecoder.value) { 22 case 0xFF827D: mySender.send(NEC, 0x8E7906F, 0); //if rcv TV VOL UP, send SPKR VOL UP 23 delay(25); 24 digitalWrite(4, HIGH); // 1st BLUE LED BLINK 25 delay(200); 26 digitalWrite(4, LOW); 27 delay(25); 28 mySender.send(NEC, 0x8E7906F, 0); //resend SPKR VOL UP 29 delay(25); 30 digitalWrite(4, HIGH); // 2nd BLUE LED BLINK (2 BLINKS FOR VOL UP) 31 delay(200); 32 digitalWrite(4, LOW); 33 break; 34 35 case 0xFFA25D: mySender.send(NEC, 0x8E730CF, 0); //if rcv TV VOL DOWN, send SPKR VOL DOWN 36 delay(25); 37 digitalWrite(4, HIGH); // 1 BLUE BLINK FOR VOL DOWN 38 delay(200); 39 digitalWrite(4, LOW); 40 delay(25); 41 mySender.send(NEC, 0x8E730CF, 0); //resend SPKR VOL DOWN 42 delay(25); 43 mySender.send(NEC, 0x8E730CF, 0); //resend SPKR VOL DOWN 44 delay(25); 45 break; 46 47 case 0xFF12ED: mySender.send(NEC, 0x8E700FF, 0); //if rcv TV MUTE, send SPKR MUTE 48 delay(25); 49 digitalWrite(4, HIGH); // LONG BLUE BLINK FOR MUTE ACKNOWLEDGED 50 delay(800); 51 break; 52 } 53 } 54 55 delay(200); 56 digitalWrite(4, LOW); 57 myReceiver.enableIRIn(); //Re-enable rcvr after sending 58 } 59}
Downloadable files
IR translator schematic
IR translator schematic
IR translator schematic
IR translator schematic
Comments
Only logged in users can leave comments