#include < FastLED.h > int light = 0; int r = 9; // define pins int g = 10; int b = 11; int oldavg = 0; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); } void loop() { int ss = 20; // sample size for light sensor int average = 0; for (int x = 0; x < ss; x++) { // mapping to correct values average += map(analogRead(0), 0, 1023, 0, 127); delay(3); } average /= ss; //Serial.println(analogRead(0)); //Serial.println(average); if (oldavg == 0) { oldavg = average; } if (abs(oldavg - average) > 1) { Serial.print("Goal: "); Serial.println(average); digitalWrite(13, HIGH); while (oldavg < average) { oldavg += 2; setColor(oldavg); } while (oldavg > average) { oldavg -= 2; setColor(oldavg); } digitalWrite(13, LOW); } } void setColor(int hue) { CRGB color = CHSV(hue, 255, 255); analogWrite(9, color.r); analogWrite(10, color.g); analogWrite(11, color.b); Serial.print("Hue: "); Serial.print(hue); Serial.print(", RGB : "); Serial.print(color.r); Serial.print(", "); Serial.print(color.g); Serial.print(", "); Serial.println(color.b); }