Re: NEOPIXEL brightness control
void loop() {
//Written by: Jason Yandell
int TOTAL_LEDS = 60;
float MaximumBrightness = 255;
float SpeedFactor = 0.008; // I don't actually know what would look good
float StepDelay = 5; // ms for a step delay on the lights
// Make the lights breathe
for (int i = 0; i < 65535; i++) {
// Intensity will go from 10 - MaximumBrightness in a "breathing" manner
float intensity = MaximumBrightness /2.0 * (1.0 + sin(SpeedFactor * i));
strip.setBrightness(intensity);
// Now set every LED to that color
for (int ledNumber=0; ledNumber<TOTAL_LEDS; ledNumber++) {
strip.setPixelColor(ledNumber, 0, 0, 255);
}
strip.show();
//Wait a bit before continuing to breathe
delay(StepDelay);
}
}
Re: NEOPIXEL brightness control
#define TOTAL_LEDS 60
void loop()
{
breathe(255, 0.008, 5);
}
void breathe(float MaximumBrightness, float SpeedFactor, float StepDelay)
{
// Make the lights breathe
for (int i = 0; i < 65535; i++) {
// Intensity will go from 10 - MaximumBrightness in a "breathing" manner
float intensity = MaximumBrightness /2.0 * (1.0 + sin(SpeedFactor * i));
strip.setBrightness(intensity);
// Now set every LED to that color
for (int ledNumber=0; ledNumber<TOTAL_LEDS; ledNumber++) {
strip.setPixelColor(ledNumber, 0, 0, 255);
}
strip.show();
//Wait a bit before continuing to breathe
delay(StepDelay);
}
}
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
#include <Adafruit_NeoPixel.h>
#define BUTTON_PIN 2
#define PIXEL_PIN 6
#define PIXEL_COUNT 8
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
bool oldState = HIGH;
int showType = 0;
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
strip.begin();
strip.show();
}
void loop() {
// Get current button state.
bool newState = digitalRead(BUTTON_PIN);
// Check if state changed from high to low (button press).
if (newState == LOW && oldState == HIGH) {
// Short delay to debounce button.
delay(20);
// Check if button is still low after debounce.
newState = digitalRead(BUTTON_PIN);
if (newState == LOW) {
showType++;
if (showType > 8)
showType=0;
startShow(showType);
}
}
oldState = newState;
}
void startShow(int i) {
switch(i){
case 0: colorWipe(strip.Color(0, 0, 0), 50); // Off
break;
case 1: colorWipe(strip.Color(255, 255, 255), 50); // White
break;
case 2: colorWipe(strip.Color(255, 0, 0), 50); // Red
break;
case 3: colorWipe(strip.Color(255, 90, 0), 50); // Orange
break;
case 4: colorWipe(strip.Color(255, 255, 0), 50); // Yellow
break;
case 5: colorWipe(strip.Color(0, 255, 0), 50); // Green
break;
case 6: colorWipe(strip.Color(0, 0, 255), 50); // Blue
break;
case 7: colorWipe(strip.Color(255, 0, 255), 50); // Purple
break;
case 8: colorWipe(strip.Color(255, 255, 255), 50); // White
break;
}
}
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control
adafruit_support_rick wrote:Like this?
- Code: Select all | TOGGLE FULL SIZE
#define TOTAL_LEDS 60
void loop()
{
breathe(255, 0.008, 5);
}
void breathe(float MaximumBrightness, float SpeedFactor, float StepDelay)
{
// Make the lights breathe
for (int i = 0; i < 65535; i++) {
// Intensity will go from 10 - MaximumBrightness in a "breathing" manner
float intensity = MaximumBrightness /2.0 * (1.0 + sin(SpeedFactor * i));
strip.setBrightness(intensity);
// Now set every LED to that color
for (int ledNumber=0; ledNumber<TOTAL_LEDS; ledNumber++) {
strip.setPixelColor(ledNumber, 0, 0, 255);
}
strip.show();
//Wait a bit before continuing to breathe
delay(StepDelay);
}
}
Re: NEOPIXEL brightness control
Re: NEOPIXEL brightness control