Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #include <Arduino.h>
  2. #include <IRremote.h>
  3. #include <EEPROM.h>
  4.  
  5. /* PINS */
  6. #define RED_PIN 3
  7. #define GREEN_PIN 6
  8. #define BLUE_PIN 5
  9. #define IR_PIN 7
  10.  
  11. /* REMOTE KEYS */
  12. #define RED_KEY 0xFF906F
  13. #define GREEN_KEY 0xFF10EF
  14. #define BLUE_KEY 0xFF50AF
  15.  
  16. #define WHITE_KEY 0xFFD02F
  17.  
  18. #define OFF_KEY 0xFF609F
  19. #define ON_KEY 0xFFE01F
  20.  
  21. IRrecv irrecv(IR_PIN);
  22. decode_results results;
  23.  
  24. byte sRed = EEPROM.read(0),
  25. sGreen = EEPROM.read(1),
  26. sBlue = EEPROM.read(2);
  27.  
  28. void setLedColor(byte red, byte green, byte blue)
  29. {
  30. if (red == 0 && green == 0 && blue == 0)
  31. {
  32.  
  33. } else {
  34. analogWrite(RED_PIN, red);
  35. EEPROM.write(0, red);
  36. analogWrite(GREEN_PIN, green);
  37. EEPROM.write(1, green);
  38. analogWrite(BLUE_PIN, blue);
  39. EEPROM.write(2, blue);
  40. }
  41. }
  42.  
  43. void setup()
  44. {
  45. Serial.begin(9600);
  46. pinMode(RED_PIN, OUTPUT);
  47. pinMode(GREEN_PIN, OUTPUT);
  48. pinMode(BLUE_PIN, OUTPUT);
  49. irrecv.enableIRIn();
  50. irrecv.blink13(true);
  51. }
  52.  
  53. void loop()
  54. {
  55. if (irrecv.decode(&results))
  56. {
  57. switch (results.value)
  58. {
  59. case RED_KEY:
  60. setLedColor(255, 0, 0);
  61. break;
  62. case GREEN_KEY:
  63. setLedColor(0, 255, 0);
  64. break;
  65. case BLUE_KEY:
  66. setLedColor(0, 0, 255);
  67. break;
  68. case OFF_KEY:
  69. setLedColor(0, 0, 0);
  70. break;
  71. case ON_KEY:
  72. setLedColor(sRed, sGreen, sBlue);
  73. break;
  74. case WHITE_KEY:
  75. setLedColor(255, 255, 255);
  76. break;
  77. default:
  78. Serial.println(results.value, HEX);
  79. }
  80. irrecv.resume();
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement