Created
October 23, 2018 01:12
-
-
Save atuline/2eadf0e56a4ae805b4a2fdc7ebfbe65c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 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