#include <FastLED.h>
#include <Servo.h>
#include <IRremote.h>
CRGB leds[0];
int pin_receiver=2;
int button_value=0;
int bright=20;
Servo myservo;
IRrecv receiver(pin_receiver);
void setup() {
// put your setup code here, to run once:
receiver.enableIRIn();
myservo.attach(10);
Serial.begin(9600);
FastLED.addLeds<NEOPIXEL, 3>(leds, 1);
}
void loop() {
// put your main code here, to run repeatedly:
if (receiver.decode())
{
translateIR();
receiver.resume();
}
}
void translateIR()
{
button_value = receiver.decodedIRData.command;
if (button_value==226)
{
Serial.println("Forward - Door opens, Backward - Door closes, 1 - Lights Turn On in Red, 2 - Lights Turn On in Green, 3 - Lights Turn On in Blue, 4 - LED Blinks, PLay - Control LED Brightness, 9 - Everything Stops");
}
if (button_value==144)
{
myservo.write(180);
Serial.println("Door open");
}
if (button_value==224)
{
myservo.write(0);
Serial.println("Door close");
}
if (button_value==48)
{
leds[1]= CRGB::Red;
FastLED.show();
}
if (button_value==24)
{
leds[1]= CRGB::Green;
FastLED.show();
}
if (button_value==112)
{
leds[1]= CRGB::Blue;
FastLED.show();
}
if (button_value==16)
{
for (int i=0; i<=20; i++)
{
leds[1]= CRGB(0, 255, 221);
FastLED.show();
delay(50);
leds[1]= CRGB(233,255,34);
FastLED.show();
delay(50);
leds[1]= CRGB(255, 0, 191);
FastLED.show();
delay(50);
}
}
if (button_value==168)
{
bright= bright+40;
FastLED.setBrightness(bright);
FastLED.show();
}
if (button_value== 162)
{
Serial.println("Application Stopped");
myservo.write(90);
FastLED.clear();
FastLED.show();
}
}