Advertisement
babyyoda_

speedControl3

Feb 16th, 2021
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<Timer1.h>
  2.  
  3. #include <IRremote.h>
  4. int RECV_PIN = 7;
  5. IRrecv irrecv(RECV_PIN);
  6. unsigned long key_value = 0;
  7. decode_results results;
  8.  
  9. #define buzzer 12
  10. int fanval[5] = {75,70,40,30,20};
  11. int timeval;
  12.  
  13. boolean  fan;
  14.  
  15. void setup()
  16. {
  17.   irrecv.enableIRIn();
  18.   irrecv.blink13(false);
  19.  
  20.   pinMode(A0, OUTPUT);
  21.   pinMode(2, INPUT);
  22.  
  23.   pinMode(buzzer, OUTPUT);
  24.   digitalWrite(buzzer, LOW);
  25.  
  26.   digitalWrite(buzzer, HIGH);
  27.   delay(150);
  28.   digitalWrite(buzzer, LOW);
  29.   fan = false;
  30. }
  31.  
  32. void dimmer()
  33. {
  34.   long int dimval;
  35.   dimval = timeval * 75;
  36.   startTimer1(dimval);
  37. }
  38.  
  39. ISR(timer1Event)
  40. {
  41.   //resetTimer1();
  42.   pauseTimer1();
  43.   digitalWrite(A0,HIGH);
  44.   delayMicroseconds(100);
  45.   digitalWrite(A0,LOW);
  46.  
  47. }
  48.  
  49. void ping()
  50. {
  51.   digitalWrite(buzzer, HIGH);
  52.   delay(100);
  53.   digitalWrite(buzzer, LOW);
  54. }
  55.  
  56.  
  57.  
  58. void loop()
  59. {
  60.   if (irrecv.decode(&results))
  61.   {
  62.     if (results.value == 0XFFFFFFFF) {
  63.       results.value = key_value;
  64.     }
  65. ////////////////////////////////////////////////////////////////////////////////////////////////////////
  66.     if ((results.value == 0x88C0051) || (results.value == 0x3393ACC8) || (results.value == 0x1035C9DA) ||       // POWER OFF
  67.         (results.value == 0x993AE700) || (results.value == 0x88C0)) {
  68.       ping();
  69.       //TODO
  70.             detachInterrupt(0);
  71.     }
  72. ////////////////////////////////////////////////////////////////////////////////////////////////////////
  73.     if ((results.value == 0x88C000C) || (results.value == 0x88C0084) || (results.value == 0x9718DE1F) ||        // LOW PLASMA
  74.         (results.value == 0x4392537E) || (results.value == 0xA7CEC72B) || (results.value == 0xFB766165) ||
  75.         (results.value == 0x9EFF2F3F)) {
  76.       ping();
  77.       timeval = fanval[1];                
  78.       attachInterrupt(0,dimmer,FALLING);
  79.     }
  80. ////////////////////////////////////////////////////////////////////////////////////////////////////////
  81.     if ((results.value == 0x8810089)  || (results.value == 0x8810) ||         // MID JET COOL
  82.         (results.value == 0x3A398D8A) || (results.value == 0x71199AC5) ||
  83.         (results.value == 0xEE419856) || (results.value == 0x76105F79)) {
  84.       ping();
  85.       timeval = fanval[2];
  86.       attachInterrupt(0,dimmer,FALLING);
  87.      
  88.     }
  89. ////////////////////////////////////////////////////////////////////////////////////////////////////////
  90.     if ((results.value == 0x8808350) || (results.value == 0x880830B) || (results.value == 0x880832D) ||       // HIGH FAN SPEED
  91.         (results.value == 0x8178C8D1) || (results.value == 0x1308451C) || (results.value == 0xA11244F4) ||
  92.         (results.value == 0xD0AE2562) || (results.value == 0x2F0AD5BB)) {
  93.       ping();
  94.       timeval = fanval[4];
  95.       attachInterrupt(0,dimmer,FALLING);
  96.     }
  97. ////////////////////////////////////////////////////////////////////////////////////////////////////////    
  98.     key_value = results.value;
  99.     irrecv.resume(); // Receive the next value
  100.   }
  101.   delay(10);
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement