Advertisement
Guest User

IR reciever with servo, Sleep, and motor

a guest
Feb 23rd, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.84 KB | None | 0 0
  1. /*
  2. * int PowerButton = -23971;
  3. int ModeButton = 25245;
  4. int Zero = 26775;
  5. int One = 12495;
  6. int Two = 6375;
  7. int Three = 31365;
  8. int Four = 4335;
  9. int Five = 14535;
  10. int Six = 23205;
  11. int Seven = 17085;
  12. int Eight = 19125;
  13. int Nine = 21165;
  14. int Mute = -7651;
  15. int Play = 8925;
  16. int Left = 765;
  17. int Right = -15811;
  18. int EQ = -8161;
  19. int VolDown = -22441;
  20. int VolUp = -28561;
  21. int RPT = -26521;
  22. int USD = -20401;
  23. */ // Signal Hex codes for the remote from the hamama
  24. #include <Stepper.h>
  25. #include <Servo.h>
  26. Servo myservo;
  27. #include <IRLibDecodeBase.h>
  28. #include <avr/interrupt.h>
  29. #include <avr/power.h>
  30. #include <avr/sleep.h>
  31. #include <avr/io.h>
  32. #include <IRLib_P01_NEC.h>
  33. #include <IRLib_P02_Sony.h>
  34. //#include <IRLib_HashRaw>
  35. #include <IRLibCombo.h>
  36. IRdecode myDecoder;
  37. #include <IRLibRecv.h>
  38. IRrecv myReciever(2);
  39. int MotorSpeed = 0;
  40. int pos = 0;
  41. bool On = true;
  42. int led = 8;
  43. int brightness = 0;
  44.  
  45. void setup() {
  46. Serial.begin(9600);
  47. pinMode(led, OUTPUT);
  48. delay(2000); while (!Serial);
  49. myReciever.enableIRIn();
  50. myservo.attach(9);
  51. Serial.println(F("Ready to recieve IR signals"));
  52. }
  53. void sleepNow() {
  54. delay(100);
  55. set_sleep_mode(SLEEP_MODE_IDLE);
  56. sleep_enable();
  57. sleep_mode(); }
  58. //
  59. void WakeUp() {
  60. sleep_disable(); }
  61. void loop() {
  62. int Recieve = myDecoder.value;
  63. if(myReciever.getResults()) {
  64. myDecoder.decode();
  65. if(myDecoder.protocolNum==UNKNOWN) {
  66. Serial.print(F("Unable to recieve signal, Please point remote at the reciever"));
  67. Serial.println(myDecoder.value, HEX);
  68. } else {
  69.  
  70. //myDecoder.dumpResults(false); //This will show the decoded signal
  71. analogWrite(11, MotorSpeed);
  72. };
  73. myReciever.enableIRIn();
  74. if (Recieve==-23971) {
  75. WakeUp();
  76. if (On) {
  77. digitalWrite(led, HIGH);
  78. (On) = (!On);}}
  79. switch (Recieve) {
  80. case 25245:
  81. Serial.println(F("Mode Button"));
  82. break;
  83. case 26775:
  84. Serial.println(F("Zero"));
  85. break;
  86. case 12495:
  87. Serial.println(F("One"));
  88. break;
  89. case 6375:
  90. Serial.println(F("Two"));
  91. break;
  92. case 31365:
  93. Serial.println(F("Three"));
  94. break;
  95. case 4335:
  96. Serial.println(F("Four"));
  97. break;
  98. case 14535:
  99. Serial.println(F("Five"));
  100. break;
  101. case 23205:
  102. Serial.println(F("Six"));
  103. break;
  104. case 17085:
  105. Serial.println(F("Seven"));
  106. break;
  107. case 19125:
  108. Serial.println(F("Eight"));
  109. break;
  110. case 21165:
  111. Serial.println(F("Nine"));
  112. break;
  113. case -7651:
  114. Serial.println(F("Mute Button"));
  115. break;
  116. case 8925:
  117. Serial.println(F("Play/Pause"));
  118. break;
  119. case 765:
  120. Serial.println(F("Left"));
  121. for (pos = 0; pos <= 180; pos += 1) {
  122. myservo.write(pos);
  123. delay(15); }
  124. break;
  125. case -15811:
  126. Serial.println(F("Right"));
  127. for (pos = 180; pos >= 0; pos -= 1) {
  128. myservo.write(pos);
  129. delay(15); }
  130. break;
  131. case -8161:
  132. Serial.println(F("Equalizer"));
  133. break;
  134. case -22441:
  135. Serial.println(F("Volume down"));
  136. MotorSpeed+=5;
  137. MotorSpeed = constrain(MotorSpeed, 0, 255);
  138. break;
  139. case -28561:
  140. Serial.println(F("Volume up"));
  141. MotorSpeed+=5;
  142. MotorSpeed = constrain(MotorSpeed, 0, 255);
  143. break;
  144. case -1:
  145. break;
  146. case -23971:
  147. Serial.println(F("Power Button"));
  148. break;
  149. default:
  150. Serial.println(F("Unknown signal"));
  151. break;
  152. }
  153.  
  154.  
  155. }
  156. else {
  157. (On) = (!On);
  158. digitalWrite(8, LOW);
  159. Serial.println("Entering Sleep mode");
  160. delay(100);
  161. analogWrite(11, 0);
  162. sleepNow();
  163.  
  164. }
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement