| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // NeoPixelBrightness
- // This example will cycle brightness from high to low of
- // three pixels colored Red, Green, Blue.
- // This demonstrates the use of the NeoPixelBrightnessBus
- // with integrated brightness support
- //
- // There is serial output of the current state so you can
- // confirm and follow along
- //
- #include <NeoPixelBrightnessBus.h> // instead of NeoPixelBus.h
- const uint16_t PixelCount = 3; // this example assumes 3 pixels, making it smaller will cause a failure
- const uint8_t PixelPin = 14; // make sure to set this to the correct pin, ignored for Esp8266
- #define colorSaturation 255 // saturation of color constants
- RgbColor red(colorSaturation, 0, 0);
- RgbColor green(0, colorSaturation, 0);
- RgbColor blue(0, 0, colorSaturation);
- // Make sure to provide the correct color order feature
- // for your NeoPixels
- NeoPixelBrightnessBus<NeoRgbFeature, Neo800KbpsMethod> strip(PixelCount, PixelPin);
- // you loose the original color the lower the dim value used
- // here due to quantization
- const uint8_t c_MinBrightness = 8;
- const uint8_t c_MaxBrightness = 255;
- int8_t direction; // current direction of dimming
- void setup()
- {
- Serial.begin(115200);
- while (!Serial); // wait for serial attach
- Serial.println();
- Serial.println("Initializing...");
- Serial.flush();
- // this resets all the neopixels to an off state
- strip.Begin();
- strip.Show();
- direction = -1; // default to dim first
-
- Serial.println();
- Serial.println("Running...");
- // set our three original colors
- strip.SetPixelColor(0, red);
- strip.SetPixelColor(1, green);
- strip.SetPixelColor(2, blue);
-
- strip.Show();
- }
- void loop()
- {
- uint8_t brightness = strip.GetBrightness();
- Serial.println(brightness);
-
- delay(100);
- // swap diection of dim when limits are reached
- //
- if (direction < 0 && brightness <= c_MinBrightness)
- {
- direction = 1;
- }
- else if (direction > 0 && brightness >= c_MaxBrightness)
- {
- direction = -1;
- }
- // apply dimming
- brightness += direction;
- strip.SetBrightness(brightness);
- // show the results
- strip.Show();
- }
|