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 Dec 13, 2020

Apologies, I was using the latest FastLED checkout from github, not the one in the Library Manager (the github checkout version is still 3.3.3, confusingly) And there hasn't been a FastLED full release yet with QT Py support.

If you are familiar with git you can use it to replace the FastLED library in your Arduino "libraries" directory. On a Mac in terminal this would look like:

cd $HOME/Documents/Arduino/libraries
rm -rf FastLED
git clone https://github.com/FastLED/FastLED

and then recompiling in the Arduino IDE.

@todbot
Copy link
Author

todbot commented Dec 13, 2020

In Windows and without git you can download a zipfile of the repository by clicking on the "Code" button and clicking "Download ZIP" (see screenshot below). Then place that zip file in your "Documents/Arduino/libraries" folder, right-click on it to Extract All, and then rename the resulting folder of "FastLED-master" to just "FastLED"

Screen Shot 2020-12-13 at 12 23 06p

@Yousefff1
Copy link

Thank you for the code.

I tried increasing the number of LEDs to 30, but it seems only 9 work.

@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