Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "IRremote.h"
- #include <Adafruit_NeoPixel.h>
- #include <EEPROM.h>
- int receiver = 11;
- int Red, Green, Blue, Power, Brightness, Speed;
- int RedAdress = 0;
- int GreenAdress = 1;
- int BlueAdress = 2;
- int BrightnessAdress = 3;
- int SpeedAdress = 4;
- int PowerAdress = 5;
- #define LED_PIN 6
- #define LED_COUNT 39
- Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
- IRrecv irrecv(receiver); // create instance of 'irrecv'
- decode_results results; // create instance of 'decode_results'
- void setup()
- {
- Serial.begin(9600);
- irrecv.enableIRIn(); // Start the receiver
- strip.begin();
- Serial.println(" Reading data from EEprom...");
- Red = EEPROM.read(RedAdress);
- Serial.print("RED VALUE = "); Serial.println(Red);
- Green = EEPROM.read(GreenAdress);
- Serial.print("GREEN VALUE = "); Serial.println(Green);
- Blue = EEPROM.read(BlueAdress);
- Serial.print("BLUE VALUE = "); Serial.println(Blue);
- Brightness = EEPROM.read(BrightnessAdress);
- Serial.print("BRIGHTNESS VALUE = "); Serial.println(Brightness);
- Speed = EEPROM.read(SpeedAdress);
- if (Speed > 50) Speed = 0;
- Serial.print("SPEED VALUE = "); Serial.println(Speed);
- Power = EEPROM.read(PowerAdress);
- Serial.print("POWER VALUE = "); Serial.println(Power);
- strip.setBrightness(Brightness);
- if (Power = 1)
- {
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- } else
- {
- colorWipe(strip.Color(0, 0, 0), 0);
- }
- strip.show();
- }
- void loop()
- {
- if (irrecv.decode(&results)) // have we received an IR signal?
- {
- translateIR();
- irrecv.resume(); // receive the next value
- }
- }
- void translateIR()
- {
- switch(results.value)
- {
- case 0xFFA25D: Serial.println(" 1");
- Red = Red + 25;
- Serial.print("RED VALUE: ");
- if (Red > 255 ) Red = 255;
- Serial.println(Red);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show();
- break;
- case 0xFF629D: Serial.println(" 2");
- Green = Green + 25;
- Serial.print("GREEN VALUE: ");
- if (Green > 255 ) Green = 255; Serial.println(Green);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show();
- break;
- case 0xFFE21D: Serial.println(" 3");
- Blue = Blue + 25;
- Serial.print("BLUE VALUE: ");
- if (Blue > 255 ) Blue = 255;
- Serial.println(Blue);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show();
- break;
- case 0xFF22DD: Serial.println(" 4"); break;
- case 0xFF02FD: Serial.println(" 5"); break;
- case 0xFFC23D: Serial.println(" 6"); break;
- case 0xFFE01F: Serial.println(" 7");
- Red = Red - 25;
- Serial.print("RED VALUE: ");
- if (Red < 0 ) Red = 0; Serial.println(Red);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show();
- break;
- case 0xFFA857: Serial.println(" 8");
- Green = Green - 25;
- Serial.print("GREEN VALUE: ");
- if (Green < 0 ) Green = 0;
- Serial.println(Green);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show();
- break;
- case 0xFF906F: Serial.println(" 9");
- Blue = Blue - 25;
- Serial.print("BLUE VALUE: ");
- if (Blue < 0 ) Blue = 0;
- Serial.println(Blue);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show();
- break;
- case 0xFF6897: Serial.println(" *"); break;
- case 0xFF9867: Serial.println(" 0"); break;
- case 0xFFB04F: Serial.println(" #");
- EEPROM.update(RedAdress, Red);
- EEPROM.update(GreenAdress, Green);
- EEPROM.update(BlueAdress, Blue);
- EEPROM.update(BrightnessAdress, Brightness);
- EEPROM.update(SpeedAdress, Speed);
- EEPROM.update(PowerAdress, Power);
- for(int i=0; i< 5; i++)
- {
- colorWipe(strip.Color(0, 0, 0), 0);
- strip.show();
- delay(100);
- colorWipe(strip.Color(Red, Green, Blue), 0);
- }
- break;
- case 0xFF18E7: Serial.println(" UP");
- Speed = Speed - 5;
- if (Speed < 0) Speed = 0;
- colorWipe(strip.Color(0, 0, 0), 0);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show();
- Serial.print("SPEED: ");
- Serial.println(Speed);
- break;
- case 0xFF10EF: Serial.println(" LEFT");
- Brightness = Brightness - 25;
- if (Brightness < 0) Brightness = 0;
- Serial.println(Brightness);
- strip.setBrightness(Brightness);
- colorWipe(strip.Color(Red, Green, Blue), 0);
- strip.show();
- break;
- case 0xFF38C7: Serial.println(" -OK-");
- Power = Power + 1;
- if (Power > 1) Power = 0 ;
- Serial.print("POWER ON STATUS: ");
- Serial.println(Power);
- break;
- case 0xFF5AA5: Serial.println(" RIGHT");
- Brightness = Brightness + 25;
- if (Brightness > 255) Brightness = 255;
- Serial.println(Brightness);
- strip.setBrightness(Brightness);
- colorWipe(strip.Color(Red, Green, Blue), 0);
- strip.show();
- break;
- case 0xFF4AB5: Serial.println(" DOWN");
- Speed = Speed + 5;
- if (Speed > 50) Speed = 50;
- colorWipe(strip.Color(0, 0, 0), 0);
- colorWipe(strip.Color(Red, Green, Blue), Speed);
- strip.show(); Serial.print("SPEED: ");
- Serial.println(Speed);
- break;
- default:
- Serial.println(results.value, HEX);
- Serial.println(" other button ");
- } // End Case
- }
- void colorWipe(uint32_t color, int wait) {
- for(int i=0; i<strip.numPixels(); i++) {
- strip.setPixelColor(i, color);
- strip.show();
- delay(wait);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement