Skip to content

Instantly share code, notes, and snippets.

@todbot
Last active April 13, 2021 18:16
Show Gist options
  • Save todbot/c22a071d6e0bc711d8746d283c1aac99 to your computer and use it in GitHub Desktop.
Save todbot/c22a071d6e0bc711d8746d283c1aac99 to your computer and use it in GitHub Desktop.
Tiny fire simulation for QT Py or any FastLED-supporting board
// modeled after https://github.com/todbot/qtpy-tricks#fire-simulation-on-external-neopixel-strip
// must use latest FastLED checkout from https://github.com/FastLED/FastLED
// as FastLED 3.3.3 doesn't have QT Py support
#include "FastLED.h"
#define LED_PIN 0
#define NUM_LEDS 8
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812, LED_PIN,GRB>(leds, NUM_LEDS);
FastLED.setBrightness( 50 ); // out of 255
}
void loop() {
// dim all LEDs by (30,30,30)
for(int i=0; i<NUM_LEDS; i++) {
leds[i] -= CRGB(30,30,30);
}
// shift LEDs down by one
for(int i=NUM_LEDS-1; i>0; i--) {
leds[i] = leds[i-1];
}
// set first LED to random fire color
leds[0] = CRGB( random(150,255), random(50,100), 0);
FastLED.show();
delay(100);
}
@todbot
Copy link
Author

todbot commented Apr 12, 2021

Hi @Yousefff1,
You will need to decrease the amount of fading from CRGB(30,30,30) to something like CRGB(10,10,10)

@Yousefff1
Copy link

Thank you! I'll test it out.

I appreciate it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment