Skip to content

Instantly share code, notes, and snippets.

@atuline
Created October 23, 2018 01:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atuline/2eadf0e56a4ae805b4a2fdc7ebfbe65c to your computer and use it in GitHub Desktop.
Save atuline/2eadf0e56a4ae805b4a2fdc7ebfbe65c to your computer and use it in GitHub Desktop.
/* palette_basic
*
* By: Andrew Tuline
*
* Date: October, 2018
*
* Basic Palette Usage
*
*/
#include "FastLED.h" // FastLED library.
#if FASTLED_VERSION < 3001000
#error "Requires FastLED 3.1 or later; check github for latest code."
#endif
// Fixed definitions cannot change on the fly.
#define LED_DT 12 // Data pin to connect to the strip.
#define LED_CK 11 // Clock pin for WS2801 or APA102.
#define COLOR_ORDER BGR // It's GRB for WS2812 and BGR for APA102.
#define LED_TYPE APA102 // Using APA102, WS2812, WS2801. Don't forget to modify LEDS.addLeds to suit.
#define NUM_LEDS 30 // Number of LED's.
// Global variables can be changed on the fly.
uint8_t max_bright = 255; // Overall brightness definition. It can be changed on the fly.
uint8_t thisdelay = 20;
struct CRGB leds[NUM_LEDS]; // Initialize our LED array.
DEFINE_GRADIENT_PALETTE( heatmap_gp ) {
0, 0, 0, 0, //black
128, 255, 0, 0, //red
224, 255,255, 0, //bright yellow
255, 255,255,255 }; //full white
CRGBPalette256 currentPalette(heatmap_gp);
TBlendType currentBlending = LINEARBLEND; // NOBLEND or LINEARBLEND
void setup() {
Serial.begin(57600); // Initialize serial port for debugging.
delay(1000); // Soft startup to ease the flow of electrons.
LEDS.addLeds<LED_TYPE, LED_DT, LED_CK, COLOR_ORDER>(leds, NUM_LEDS); // Use this for WS2801 or APA102
// LEDS.addLeds<LED_TYPE, LED_DT, COLOR_ORDER>(leds, NUM_LEDS); // Use this for WS2812
FastLED.setBrightness(max_bright);
set_max_power_in_volts_and_milliamps(5, 500); // FastLED Power management set at 5V, 500mA.
} // setup()
void loop() {
fillIt();
FastLED.show();
} // loop()
void fillIt() {
for (int i=0; i< NUM_LEDS; i++) {
leds[i] = ColorFromPalette(currentPalette, i*256/NUM_LEDS);
}
} // fillIt()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment