#include <IRremote.h>
#include <Servo.h>
#include <FastLED.h>
CRGB leds[0];
int pin_receiver = 2;
int button_value = 0;
int brightness = 20;
Servo myservo1;
IRrecv receiver(pin_receiver);
void setup()
{
receiver.enableIRIn();
myservo1.attach(10);
Serial.begin(9600);
FastLED.addLeds<NEOPIXEL, 3>(leds, 1);
}
void loop()
{
if (receiver.decode())
{
translateIR();
receiver.resume();
}
}
void translateIR()
{
button_value = receiver.decodedIRData.command;
Serial.println(button_value);
if (button_value == 226){
Serial.println("Forward button - Open Door, Backward button - Close Door, 1 - Set light color to RED, 2 - Set light color to Green, 3 - Set light color to Blue , 4 - Blinking LED, Play - Control LED brightness, Power - Rest");
}
if (button_value == 144){
myservo1.write(180);
Serial.println("Door Opening");
}
if (button_value == 224){
myservo1.write(0);
Serial.println("Door closing");
}
if (button_value == 48){
leds[1] = CRGB::Red;
FastLED.show();
Serial.println("Red LED");
}
if (button_value == 24){
leds[1] = CRGB::LawnGreen;
FastLED.show();
Serial.println("Green LED");
}
if (button_value == 122){
leds[1] = CRGB::DarkBlue;
FastLED.show();
Serial.println("Blue LED");
}
if (button_value == 16){
for(int i = 0; i<=20; i++ ){
leds[1] = CRGB(66, 202, 191);
FastLED.show();
delay(100);
leds[1] = CRGB(114, 202, 66);
FastLED.show();
delay(100);
leds[1] = CRGB(202, 123, 66);
FastLED.show();
delay(100);
}
}
if (button_value == 168){
brightness = brightness + 50;
FastLED.setBrightness(brightness);
FastLED.show();
}
if (button_value == 162){
myservo1.write(90);
FastLED.clear();
FastLED.show();
Serial.println("System Reset");
}
}