Advertisement
JonD1988

CloneIRRemote

Jan 12th, 2023
1,151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Rev 0 The purpose of this code is to read received codes for IR remote controls and display them on the serial monitor
  2. #include <IRremote.h> //Include IR Remote Library by Shirriff
  3.  
  4. const int RECV_PIN = 11; //Arduino Digital Pin IR Sensor is Connected To
  5. IRrecv irrecv(RECV_PIN); //Define IR Receiver
  6. decode_results results; //Define Results Object for Received Code
  7. IRsend irsend; //Create IR Send Object for Transmitting via Infrared LED
  8.  
  9. void setup() {
  10.   Serial.begin(9600); //Start the serial monitor
  11.   irrecv.enableIRIn(); //Enable the IR Receiver
  12. }
  13.  
  14. void loop() {
  15.  
  16.   recCodeInter(); //Call the Received Code Interpret Function
  17.  
  18. } //End of void loop
  19. //Reference 1- "DroneBot Workshop" YouTube channel video "Using IR REmote Controls with the Arduino" https://dronebotworkshop.com/using-ir-remote-controls-with-arduino/
  20.  
  21. void recCodeInter()
  22. { //Start of recCodeInter function definition
  23.   if(irrecv.decode(&results)) //If we decode and get results in the results object print the result
  24.   { //Beginning of irrecv.decode(&results) if statement
  25.     //Serial.println(results.value, HEX); //Print code in HEX
  26.     switch(results.value)
  27.     { //Start of switch statement results.value
  28.       case 0xFF18E7: //Up Arrow Button Pushed on Black IR Remote
  29.       //Serial.println("Up Button Pressed.");
  30.       irsend.sendNEC(0x807F8877, 32); // micca spec-1 02 media player up arrow code code
  31.       Serial.println("Up");
  32.       break;
  33.       case 0xFF10EF: //Left Arrow Button Pushed on Black IR Remote
  34.       //Serial.println("Left Button Pressed.");
  35.       irsend.sendNEC(0x807F906F, 32); // micca spec-1 02 media player left arrow code code
  36.       Serial.println("Left");
  37.       break;
  38.       case 0xFF5AA5: //Right Arrow Button Pushed on Black IR Remote
  39.       //Serial.println("Right Button Pressed.");
  40.       irsend.sendNEC(0x807F28D7, 32); // micca spec-1 02 media player right arrow code code
  41.       Serial.println("Right");
  42.       break;
  43.       case 0xFF4AB5: //Down Arrow Button Pushed on Black IR Remote
  44.       //Serial.println("Down Button Pressed.");
  45.       irsend.sendNEC(0x807F10EF, 32); // micca spec-1 02 media player down arrow code code
  46.       Serial.println("Down");
  47.       break;
  48.       case 0xFF38C7: //OK Button Pushed on Black IR Remote
  49.       //Serial.println("OK Button Pressed.");
  50.       irsend.sendNEC(0x807F7A85, 32); // micca spec-1 02 media player OK button code
  51.       Serial.println("OK");
  52.       break;
  53.       case 0xFF9867: //0 Button Pushed on Black IR Remote
  54.       //Serial.println("0 Button Pressed.");
  55.       irsend.sendNEC(0x807F08F7, 32); // micca spec-1 02 media player Power button code
  56.       Serial.println("0");
  57.       break;
  58.       case 0xFFA25D: //1 Button Pushed on Black IR Remote
  59.       //Serial.println("1 Button Pressed.");
  60.       irsend.sendNEC(0x807F02FD, 32); // micca spec-1 02 media player Pause/Play button code
  61.       Serial.println("Play/Pause");
  62.       break;
  63.       case 0xFF629D: //2 Button Pushed on Black IR Remote
  64.       //Serial.println("2 Button Pressed.");
  65.       irsend.sendNEC(0x807F32CD, 32); // micca spec-1 02 media player Stop button code
  66.       Serial.println("Stop");
  67.       break;
  68.       case 0xFFE21D: //3 Button Pushed on Black IR Remote
  69.       //Serial.println("3 Button Pressed.");
  70.       irsend.sendNEC(0x807FB847, 32); // micca spec-1 02 media player Return button code
  71.       Serial.println("Return");
  72.       break;
  73.       case 0xFF22DD: //4 Button Pushed on Black IR Remote
  74.       //Serial.println("4 Button Pressed.");
  75.       irsend.sendNEC(0x807FC23D, 32); // micca spec-1 02 media player Rewind button code
  76.       Serial.println("Rewind");
  77.       break;
  78.       case 0xFF02FD: //5 Button Pushed on Black IR Remote
  79.       //Serial.println("5 Button Pressed.");
  80.       irsend.sendNEC(0x807FC837, 32); // micca spec-1 02 media player Fast Forward button code
  81.       Serial.println("Fast Forward");
  82.       break;
  83.       case 0xFFC23D: //6 Button Pushed on Black IR Remote
  84.       //Serial.println("6 Button Pressed.");
  85.       irsend.sendNEC(0x807FF807, 32); // micca spec-1 02 media player Menu button code
  86.       Serial.println("Menu");
  87.       break;
  88.       case 0xFFE01F: //7 Button Pushed on Black IR Remote
  89.       //Serial.println("7 Button Pressed.");
  90.       irsend.sendNEC(0x807F52AD, 32); // micca spec-1 02 media player GOTO button code
  91.       Serial.println("GOTO");
  92.       break;
  93.       case 0xFFA857: //8 Button Pushed on Black IR Remote
  94.       //Serial.println("8 Button Pressed.");
  95.       break;
  96.       case 0xFF906F: //9 Button Pushed on Black IR Remote
  97.       //Serial.println("9 Button Pressed.");
  98.       break;
  99.       case 0xFF6897: //* Button Pushed on Black IR Remote
  100.       //Serial.println("* Button Pressed.");
  101.       break;
  102.       case 0xFFB04F: //# Button Pushed on Black IR Remote
  103.       //Serial.println("# Button Pressed.");
  104.       break;
  105.     } //End of switch statement results.value
  106.     //delay(200);
  107. //    switch(results.decode_type) //To check the type of code
  108. //    { //Start of results.decode_type switch statement
  109. //      case NEC:
  110. //      Serial.println("NEC");
  111. //      break;
  112. //      case SONY:
  113. //      Serial.println("SONY");
  114. //      break;
  115. //      case RC5:
  116. //      Serial.println("RC5");
  117. //      break;
  118. //      case RC6:
  119. //      Serial.println("RC6");
  120. //      break;
  121. //    } //End of results.decode_type switch statement
  122.        irrecv.resume();
  123.   }//End of irrecv.decode(&results) if statement
  124. } //End of recCodeInter function definition
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement