Pins:
#include <FastLED.h>// How many leds in your strip?#define NUM_LEDS 300// For led chips like Neopixels, which have a data line, ground, and power, you just// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN#define DATA_PIN 11#define BUTTONLED 10#define BUTTON 9// Define the array of ledsCRGB leds[NUM_LEDS];void setup() { FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); pinMode(BUTTONLED,OUTPUT); digitalWrite(BUTTONLED, HIGH); pinMode(BUTTON, INPUT_PULLUP);}CRGB color = CRGB(255,0,0);boolean btnPushedOld = false;boolean btnPushed = false;void loop() { btnPushed = !digitalRead(BUTTON); if(btnPushed == HIGH && btnPushedOld == LOW) { color = CRGB(random(0,255),random(0,255),random(0,255)); } for (int i = 0; i < NUM_LEDS; i ++) { leds[i] = color; } FastLED.show(); delay(1);}If you want to play around with the system without having to work with the physical model. You can find an emulator here.