Advertisement
Guest User

Arduino IR Transcoder for Integrating a Schiit Syn with NVidia Shield TV

a guest
Mar 13th, 2024
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <IRremote.h>
  2.  
  3. #define IR_RECEIVE_PIN 2
  4. #define IR_SEND_PIN 3
  5.  
  6. //Schiit Syn Volume Up
  7. uint16_t SVUaddress = 0xBF04;
  8. uint16_t SVUcommand = 0x11; //17 hex
  9. uint32_t SVUrawData = 0xEE11BF04;
  10.  
  11. //Schiit Syn Volume Down
  12. uint16_t SVDaddress = 0xBF04;
  13. uint16_t SVDcommand = 0x12; //18 hex
  14. uint32_t SVDrawData = 0xED12BF04;
  15.  
  16.  
  17.  
  18. void setup() {
  19.   Serial.begin(9600);
  20.   IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);  
  21.   IrSender.begin(IR_SEND_PIN);
  22.  
  23.   // Just to know which program is running on my Arduino
  24.   Serial.println(F("START " __FILE__ " from " __DATE__ "\r\nUsing library version " VERSION_IRREMOTE));
  25.   Serial.print(F("Send IR signals at pin "));
  26.   Serial.println(3);
  27. }
  28.  
  29. uint8_t sRepeats = 0;
  30.  
  31. void loop() {
  32.   if (IrReceiver.decode()) {
  33.  
  34.     IrReceiver.printIRResultAsCVariables(&Serial);
  35.     uint16_t command = IrReceiver.decodedIRData.command;
  36.  
  37.     switch (command) {
  38.       case 17: //Schiit Syn Volume Up
  39.         Serial.println("Schiit VOL+");
  40.         break;
  41.       case 18: //Schiit Syn Volume Down
  42.         Serial.println("Schiit VOL-");
  43.         break;
  44.       case 152: //Yamaha Receiver Volume Up
  45.         Serial.println("Yamaha VOL+");
  46.         //When Yamaha volume up received, resend Schiit Syn Volume Up        
  47.         IrSender.sendNEC2(SVUaddress, SVUcommand, sRepeats);
  48.         break;
  49.       case 153:
  50.       Serial.println("Yamaha VOL-");
  51.         //When Yamaha volume up received, resend Schiit Syn Volume Up
  52.         IrSender.sendNEC2(SVDaddress, SVDcommand, sRepeats);
  53.         break;
  54.  
  55.       default: 
  56.         Serial.println("UNDEFINED");     
  57.     }      
  58.  
  59.     delay(7);  // wait a bit
  60.     IrReceiver.resume();
  61.    
  62.   }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement