Last active
April 24, 2018 08:51
-
-
Save atuline/307320b02b0d0cc818c91ae8aa3dcf4f to your computer and use it in GitHub Desktop.
Increasing brightness
This file contains 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
#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 60 // 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. | |
long mycount = 0; | |
struct CRGB leds[NUM_LEDS]; // Initialize our LED array. | |
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(){ | |
setcolors(); | |
FastLED.show(); | |
} // loop() | |
void setcolors(){ | |
static long mycount = 0; | |
Serial.print(">>>"); | |
Serial.println(mycount); | |
for (int i=0; i< NUM_LEDS; i++) { | |
long temp = mycount / (8*i+1); // Each LED starts to light up after the previous one has a brightness of 8. Watch out for div0 though. | |
if (temp >0) temp = temp+mycount-8*i; // Once an LED is lit, take the mycount value and subtract the LED location to get the resulting brightness | |
temp = constrain(temp,0,255); // Keep the absolute value from going over 255 | |
Serial.println(temp); | |
leds[i] = CHSV(255,0,temp); | |
} | |
mycount++; | |
} // setcolors() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment