Wled: Request new effect modes

Created on 2 Nov 2018  路  18Comments  路  Source: Aircoookie/WLED

Hi,
i've been trying out several web ESP8266 interfaces for my WS2812B strings. So far i like WLED best. Cheers!
The only thing i miss is this very nice twinkling 'holiday' lights that fade in and out from Mark Kriegsman . In my opinion, it's much better than the twinkling from WS2812FX.
It's using fastled and i managed to implement it and get it working in eg McLighting but not in WLED.
So my question is: is it possible to include this effect?

enhancement question

All 18 comments

Hey,
awesome that you like WLED!
Yeah, I agree sadly it's not very intuitive to add new effects to WLED, even less FastLed ones. I'll try and add Kriegsman's effect to WLED for the next version! Even then, I'll keep this issue open so you or others can request more cool effect modes you might find that are not yet in WLED.

I just pushed an update with the new Colortwinkle effect to the dev branch! https://github.com/Aircoookie/WLED/tree/development

Thank you so much for making me aware of this effect! It is now one of, if not my favorite WLED effect of all of them! I modified the code quite a bit, you can control the fading speed as well as the amount of new twinkles that get added with the speed and intensity sliders! I found that it looks best with about 1/3rd speed, 1/2 intensity and full brightness.

This effect really makes me want to get rid of the included WS2812FX twinkle effects, but I will keep them for now for compatibility and reference reasons.

The main 0.8.1 update should release within a week from now :)

i just tried the dev branch and it works great! Thanks for including it. Happy that i'm not alone enjoying this mode. I will look at the modifications you had to make and try to include some more modes.

Hi All,

love your project!

I have a Hyperion LED that has different mood-blob effects.

Is it possible to import them in your project also?

Greetings from Germany

Pascal

Hi Pascal,

thank you for your gift :) Awesome that you enjoy WLED!
I also really like the Hyperion mood blob effects and i think it shouldn't be too hard to add a port of them to WLED 0.9.0!
In the meantime, you can use the "Lake" effect with slow-medium speed and different palettes, it should create a similar atmosphere.

Hello,

;-) will try this thanks a lot...

other question: what does the 2 curved arrows??? ;-)

Gr眉脽le

The two circular arrows are for the sync feature. If you have more than 1 ESP8266 running WLED, they'll sync up and display the same color. If the top arrow is lit, the current ESP will receive updates from other ESPs, if the bottom arrow is lit it will send them itself if the color is changed :)

WOW that's possible?!? great!
thank you !

New Suggestion, dont know how to tell in english... it would be greate if i could use the FastLed Palette without a animation.... did you understand? 馃槣 multible Color on the stripe without animation...

Greetings

Pascal

Not a problem :) It's already supported, just select the Palette effect and put the speed slider to 0!

So simple... thanks!
Nice Weekend!

Pascal

Hi, have tested ... but there is still a movement with speed 0 :-(
Is it possible to use the Palette with the effect Solid?

EDIT With Effect Palette (65) is no movement..

Greetings
Pascal

(Ich liebe dein Projekt immer mehr!)

Yes, Palette (65) is the effect I meant for having a non-moving gradient palette! Danke! :)

Suggestion to include this Fastled effect with palette: https://github.com/atuline/FastLED-Demos/blob/master/confetti_pal/confetti_pal.ino
Or on second thought: maybe not because the colortwinkles is actually better :)

Hello AirCoookie I use your WLed every day.
I have it in the IKEA Fado with 24 LED's.
I noticed that the fire effect is not well done.
I saw a very nice on YouTube and tasted on an Arduino nano.
Unfortunately, I do not know how to add it to WLED.
Is there a way to add that to your closest update?

` /**

  • ATtiny85 - NeoPixel Fire With Potentiometer
  • v. 1.0
  • Copyright (C) 2018 Robert Ulbricht
  • https://www.arduinoslovakia.eu
    *
  • IDE: 1.8.5 or higher
  • Board: ATtiny85
  • Core: https://github.com/SpenceKonde/ATTinyCore
    *
  • Libraries
  • NeoPixel: https://github.com/adafruit/Adafruit_NeoPixel
    *
  • This program is free software: you can redistribute it and/or modify
  • it under the terms of the GNU General Public License as published by
  • the Free Software Foundation, either version 3 of the License, or
  • (at your option) any later version.
    *
  • This program is distributed in the hope that it will be useful,
  • but WITHOUT ANY WARRANTY; without even the implied warranty of
  • MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  • GNU General Public License for more details.
    *
  • You should have received a copy of the GNU General Public License
  • along with this program. If not, see http://www.gnu.org/licenses/.
    */

// ATMEL ATTINY85
//
// +-\/-+
// (D 5) PB5 1| |8 Vcc
// (D 3) PB3 2| |7 PB2 (D 2)
// pot (D 4) PB4 3| |6 PB1 (D 1)
// GND 4| |5 PB0 (D 0) - R 1k - NeoPixel Ring Input
// +----+

include

// data pin

define PIN 0

// led count

define CNT 24

// randomness

define RANDOM_MAX 160

// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_RGB Pixels are wired for RGB bitstream
// NEO_GRB Pixels are wired for GRB bitstream
// NEO_KHZ400 400 KHz bitstream (e.g. FLORA pixels)
// NEO_KHZ800 800 KHz bitstream (e.g. High Density LED strip)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(CNT, PIN, NEO_GRB + NEO_KHZ800);

uint32_t fire_color = strip.Color ( 80, 35, 00);
uint32_t off_color = strip.Color ( 0, 0, 0);

///
/// Fire simulator
///
class NeoFire
{
Adafruit_NeoPixel &strip;
public:

NeoFire(Adafruit_NeoPixel&);
void Draw();
void Clear();
void AddColor(uint8_t position, uint32_t color);
void SubstractColor(uint8_t position, uint32_t color);
uint32_t Blend(uint32_t color1, uint32_t color2);
uint32_t Substract(uint32_t color1, uint32_t color2);
};

///
/// Constructor
///
NeoFire::NeoFire(Adafruit_NeoPixel& n_strip)
: strip (n_strip)
{
}

///
/// Set all colors
///
void NeoFire::Draw()
{
Clear();

int pot = analogRead(A2);
pot = map(pot, 0, 1023, 0, RANDOM_MAX);

for(int i=0;i {
AddColor(i, fire_color);
int r = random(pot);
uint32_t diff_color = strip.Color (r, r/2, r/2);
SubstractColor(i, diff_color);
}

strip.show();
}

///
/// Set color of LED
///
void NeoFire::AddColor(uint8_t position, uint32_t color)
{
uint32_t blended_color = Blend(strip.getPixelColor(position), color);
strip.setPixelColor(position, blended_color);
}

///
/// Set color of LED
///
void NeoFire::SubstractColor(uint8_t position, uint32_t color)
{
uint32_t blended_color = Substract(strip.getPixelColor(position), color);
strip.setPixelColor(position, blended_color);
}

///
/// Color blending
///
uint32_t NeoFire::Blend(uint32_t color1, uint32_t color2)
{
uint8_t r1,g1,b1;
uint8_t r2,g2,b2;
uint8_t r3,g3,b3;

r1 = (uint8_t)(color1 >> 16),
g1 = (uint8_t)(color1 >> 8),
b1 = (uint8_t)(color1 >> 0);

r2 = (uint8_t)(color2 >> 16),
g2 = (uint8_t)(color2 >> 8),
b2 = (uint8_t)(color2 >> 0);

return strip.Color(constrain(r1+r2, 0, 255), constrain(g1+g2, 0, 255), constrain(b1+b2, 0, 255));
}

///
/// Color blending
///
uint32_t NeoFire::Substract(uint32_t color1, uint32_t color2)
{
uint8_t r1,g1,b1;
uint8_t r2,g2,b2;
uint8_t r3,g3,b3;
int16_t r,g,b;

r1 = (uint8_t)(color1 >> 16),
g1 = (uint8_t)(color1 >> 8),
b1 = (uint8_t)(color1 >> 0);

r2 = (uint8_t)(color2 >> 16),
g2 = (uint8_t)(color2 >> 8),
b2 = (uint8_t)(color2 >> 0);

r=(int16_t)r1-(int16_t)r2;
g=(int16_t)g1-(int16_t)g2;
b=(int16_t)b1-(int16_t)b2;
if(r<0) r=0;
if(g<0) g=0;
if(b<0) b=0;

return strip.Color(r, g, b);
}

///
/// Every LED to black
///
void NeoFire::Clear()
{
for(uint16_t i=0; i strip.setPixelColor(i, off_color);
}

NeoFire fire(strip);

///
/// Setup
///
void setup()
{
strip.begin();
strip.show(); // Initialize all pixels to 'off'
}

///
/// Main loop
///
void loop()
{
fire.Draw();
delay(random(50,150));
}`

@SeriousOri yes I know there are better Fire FX out there then the one included in WLED right now. You can vary the speed and intensity, but I agree it doesn't really look quite right. I'll take a look at the effect you posted. If I like it, it will be included in the next update :)

Hi. I'm sure you'll like it.

Closing. You may open individual issues for effect suggestions :)

Was this page helpful?
5 / 5 - 1 ratings

Related issues

athlon1900 picture athlon1900  路  3Comments

Dann-io picture Dann-io  路  3Comments

jwingefeld picture jwingefeld  路  3Comments

BugsBunny1403 picture BugsBunny1403  路  3Comments

CollaVinilica picture CollaVinilica  路  3Comments