I essentially just want to avoid having to do this. 
#include <FastLED.h>
#define NUM_LEDS 60
#define CLOCK_PIN 10
#define DATA_PIN 11
CRGB leds[NUM_LEDS]; //Create array of 60 LEDs called 'leds'
int outspeed = 0; //Create integer for fade out speed
int HSV[2] = {0, 0}; //Create array for hue and saturation values
void setup() {
FastLED.addLeds<APA102, DATA_PIN, CLOCK_PIN>(leds, NUM_LEDS);
}
void loop() {
outspeed = 0; //Set fade out speed for next fade
HSV[0] = 40; //Set hue for next fade
HSV[1] = 255; //Set saturation for next fade
fade(); //Begin fade
delay(1000);
outspeed = 0;
HSV[0] = 200;
HSV[1] = 255;
fade();
delay(1000);
outspeed = 0;
HSV[0] = 100;
HSV[1] = 255;
fade();
delay(1000);
}
void fade() {
for(int brightness=0; brightness<=255; brightness++){ //Increment 'brightness' from 0 to 255
leds[0].setHSV(HSV[0], HSV[1], brightness);
leds[1].setHSV(HSV[0], HSV[1], brightness);
leds[2].setHSV(HSV[0], HSV[1], brightness);
leds[3].setHSV(HSV[0], HSV[1], brightness);
leds[4].setHSV(HSV[0], HSV[1], brightness);
leds[5].setHSV(HSV[0], HSV[1], brightness);
leds[6].setHSV(HSV[0], HSV[1], brightness);
leds[7].setHSV(HSV[0], HSV[1], brightness);
leds[8].setHSV(HSV[0], HSV[1], brightness);
leds[9].setHSV(HSV[0], HSV[1], brightness);
leds[10].setHSV(HSV[0], HSV[1], brightness);
leds[11].setHSV(HSV[0], HSV[1], brightness);
leds[12].setHSV(HSV[0], HSV[1], brightness);
leds[13].setHSV(HSV[0], HSV[1], brightness);
leds[14].setHSV(HSV[0], HSV[1], brightness);
leds[15].setHSV(HSV[0], HSV[1], brightness);
leds[16].setHSV(HSV[0], HSV[1], brightness);
leds[17].setHSV(HSV[0], HSV[1], brightness);
leds[18].setHSV(HSV[0], HSV[1], brightness);
leds[19].setHSV(HSV[0], HSV[1], brightness);
leds[20].setHSV(HSV[0], HSV[1], brightness);
leds[21].setHSV(HSV[0], HSV[1], brightness);
leds[22].setHSV(HSV[0], HSV[1], brightness);
leds[23].setHSV(HSV[0], HSV[1], brightness);
leds[24].setHSV(HSV[0], HSV[1], brightness);
leds[25].setHSV(HSV[0], HSV[1], brightness);
leds[26].setHSV(HSV[0], HSV[1], brightness);
leds[27].setHSV(HSV[0], HSV[1], brightness);
leds[28].setHSV(HSV[0], HSV[1], brightness);
leds[29].setHSV(HSV[0], HSV[1], brightness);
leds[30].setHSV(HSV[0], HSV[1], brightness);
leds[31].setHSV(HSV[0], HSV[1], brightness);
leds[32].setHSV(HSV[0], HSV[1], brightness);
leds[33].setHSV(HSV[0], HSV[1], brightness);
leds[34].setHSV(HSV[0], HSV[1], brightness);
leds[35].setHSV(HSV[0], HSV[1], brightness);
leds[36].setHSV(HSV[0], HSV[1], brightness);
leds[37].setHSV(HSV[0], HSV[1], brightness);
leds[38].setHSV(HSV[0], HSV[1], brightness);
leds[39].setHSV(HSV[0], HSV[1], brightness);
leds[40].setHSV(HSV[0], HSV[1], brightness);
leds[41].setHSV(HSV[0], HSV[1], brightness);
leds[42].setHSV(HSV[0], HSV[1], brightness);
leds[43].setHSV(HSV[0], HSV[1], brightness);
leds[44].setHSV(HSV[0], HSV[1], brightness);
leds[45].setHSV(HSV[0], HSV[1], brightness);
leds[46].setHSV(HSV[0], HSV[1], brightness);
leds[47].setHSV(HSV[0], HSV[1], brightness);
leds[48].setHSV(HSV[0], HSV[1], brightness);
leds[49].setHSV(HSV[0], HSV[1], brightness);
leds[50].setHSV(HSV[0], HSV[1], brightness);
leds[51].setHSV(HSV[0], HSV[1], brightness);
leds[52].setHSV(HSV[0], HSV[1], brightness);
leds[53].setHSV(HSV[0], HSV[1], brightness);
leds[54].setHSV(HSV[0], HSV[1], brightness);
leds[55].setHSV(HSV[0], HSV[1], brightness);
leds[56].setHSV(HSV[0], HSV[1], brightness);
leds[57].setHSV(HSV[0], HSV[1], brightness);
leds[58].setHSV(HSV[0], HSV[1], brightness);
leds[59].setHSV(HSV[0], HSV[1], brightness);
FastLED.show(); //Update LED display
}
for(int brightness=255; brightness>=0; brightness--){ //Decrement 'brightness' from 255 to 0
leds[0].setHSV(HSV[0], HSV[1], brightness);
leds[1].setHSV(HSV[0], HSV[1], brightness);
leds[2].setHSV(HSV[0], HSV[1], brightness);
leds[3].setHSV(HSV[0], HSV[1], brightness);
leds[4].setHSV(HSV[0], HSV[1], brightness);
leds[5].setHSV(HSV[0], HSV[1], brightness);
leds[6].setHSV(HSV[0], HSV[1], brightness);
leds[7].setHSV(HSV[0], HSV[1], brightness);
leds[8].setHSV(HSV[0], HSV[1], brightness);
leds[9].setHSV(HSV[0], HSV[1], brightness);
leds[10].setHSV(HSV[0], HSV[1], brightness);
leds[11].setHSV(HSV[0], HSV[1], brightness);
leds[12].setHSV(HSV[0], HSV[1], brightness);
leds[13].setHSV(HSV[0], HSV[1], brightness);
leds[14].setHSV(HSV[0], HSV[1], brightness);
leds[15].setHSV(HSV[0], HSV[1], brightness);
leds[16].setHSV(HSV[0], HSV[1], brightness);
leds[17].setHSV(HSV[0], HSV[1], brightness);
leds[18].setHSV(HSV[0], HSV[1], brightness);
leds[19].setHSV(HSV[0], HSV[1], brightness);
leds[20].setHSV(HSV[0], HSV[1], brightness);
leds[21].setHSV(HSV[0], HSV[1], brightness);
leds[22].setHSV(HSV[0], HSV[1], brightness);
leds[23].setHSV(HSV[0], HSV[1], brightness);
leds[24].setHSV(HSV[0], HSV[1], brightness);
leds[25].setHSV(HSV[0], HSV[1], brightness);
leds[26].setHSV(HSV[0], HSV[1], brightness);
leds[27].setHSV(HSV[0], HSV[1], brightness);
leds[28].setHSV(HSV[0], HSV[1], brightness);
leds[29].setHSV(HSV[0], HSV[1], brightness);
leds[30].setHSV(HSV[0], HSV[1], brightness);
leds[31].setHSV(HSV[0], HSV[1], brightness);
leds[32].setHSV(HSV[0], HSV[1], brightness);
leds[33].setHSV(HSV[0], HSV[1], brightness);
leds[34].setHSV(HSV[0], HSV[1], brightness);
leds[35].setHSV(HSV[0], HSV[1], brightness);
leds[36].setHSV(HSV[0], HSV[1], brightness);
leds[37].setHSV(HSV[0], HSV[1], brightness);
leds[38].setHSV(HSV[0], HSV[1], brightness);
leds[39].setHSV(HSV[0], HSV[1], brightness);
leds[40].setHSV(HSV[0], HSV[1], brightness);
leds[41].setHSV(HSV[0], HSV[1], brightness);
leds[42].setHSV(HSV[0], HSV[1], brightness);
leds[43].setHSV(HSV[0], HSV[1], brightness);
leds[44].setHSV(HSV[0], HSV[1], brightness);
leds[45].setHSV(HSV[0], HSV[1], brightness);
leds[46].setHSV(HSV[0], HSV[1], brightness);
leds[47].setHSV(HSV[0], HSV[1], brightness);
leds[48].setHSV(HSV[0], HSV[1], brightness);
leds[49].setHSV(HSV[0], HSV[1], brightness);
leds[50].setHSV(HSV[0], HSV[1], brightness);
leds[51].setHSV(HSV[0], HSV[1], brightness);
leds[52].setHSV(HSV[0], HSV[1], brightness);
leds[53].setHSV(HSV[0], HSV[1], brightness);
leds[54].setHSV(HSV[0], HSV[1], brightness);
leds[55].setHSV(HSV[0], HSV[1], brightness);
leds[56].setHSV(HSV[0], HSV[1], brightness);
leds[57].setHSV(HSV[0], HSV[1], brightness);
leds[58].setHSV(HSV[0], HSV[1], brightness);
leds[59].setHSV(HSV[0], HSV[1], brightness);
FastLED.show(); //Update LED display
delay(outspeed);
}
}
Manually specifying each LED won't be practical with larger strips.