Led Feuereffekt?

Hallo,

kenn jemand einen guten Algorithmus, wie ich ein Feuer simulieren kann?
Zur Verfügung steht eine Led Matrix aus WS2812B mit 24 * 3 Leds.

void effect_fire(struct cHSV *hsv, int16_t numLeds)
{
// Funktion wird alle 20ms aufgerufen
uint8_t led = rand()%numLeds;

static uint8_t val = 0;
static uint8_t ct = 0;

hsv[led].h = (rand()%5)*8; // Farbton 0..32 (rot -> orange)
hsv[led].s = 255;

if(++ct == 0xff) val = (rand()%129)+127; // Grundhelligkeit 50% + Zufall
fill_hsv_valFade(hsv, numLeds, val); // Helligkeit 50 .. 100% (alle Leds), in/dekremtiert den Wert um 1 je Aufruf
}

:slight_smile: Tutorial Feuer mit LED - YouTube :slight_smile:

FastLED Fire2012.

Hier für 2d Setups angepasst.

Oder mein Simplex Noise Smearing (ab 0:56), aber das ist ziemlich tricky und lohnt sich wahrscheinlich nicht auf 3x24.

Gruß,

Helmuth

Sieht man die LEDs, oder ist es eine indirekte Beleuchtung?

Wenn letzteres, könnte man auch schnell gescrolltes Simplex Noise benutzen.

Plug&Play Code habe ich hier gezeigt - wenn Du speed (und vielleicht auch scale) hochsetzt, sollte das ganz gut gehen.

Hi,

den Fire Effekt aus der FastLed kenne ich bereits. Passt leider nicht ins Konzept. Dafür hätte die Ledleiste hochkant stehen müssen. Direkt auf die Leds kann man nicht schauen.

Dann siehe #3.

Gegebenenfalls ist das Farbmapping noch anzupassen.

Gruß,

Helmuth