#include <IRremote.h>
#include <Adafruit_NeoPixel.h>
#include "remote_dim.h"
#define IR_RECEIVE_PIN 2
#define LED_RING_PIN 4
#define NUMPIXELS 16
Adafruit_NeoPixel ringLed1(NUMPIXELS, LED_RING_PIN, NEO_GRB + NEO_KHZ800);
int red = 255;
boolean ringStatus = false;
void setup() {
Serial.begin(115200);
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
ringLed1.begin();
ringLed1.clear();
allOff();
}
void loop() {
ringLed1.clear();
if (IrReceiver.decode()) {
auto result = (IrReceiver.decodedIRData.decodedRawData); // Print "old" raw data
if (result != 0 && result == ONOFF) {
toggleOnOff();
}
IrReceiver.resume(); // Enable receiving of the next value
}
}
void toggleOnOff() {
if (ringStatus == false) {
ringLed1.clear();
//ringLed1.color(255, 255, 255);
for (int i = 0; i < ringLed1.numPixels(); i++) {
ringLed1.setPixelColor(i, 255, 255, 255);
ringLed1.setPixelColor(ringLed1.numPixels() - i, 255, 255, 255);
delay(50);
ringLed1.show();
ringStatus = true;
}
} else {
allOff();
ringStatus = false;
}
}
void allOff() {
for (int i = 0; i < ringLed1.numPixels(); i++) {
ringLed1.setPixelColor(i, 0, 0, 0);
ringLed1.show();
}
}