Advertisement
Guest User

IR reciever with servo, Sleep, and motor

a guest
Feb 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.83 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;
  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.                      
  162.       sleepNow();    
  163.  
  164.     }
  165.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement