Hi, I am a comp sci major and I’m going to give a presentation on controlling digital LEDs with an arduino with the FastLED library to our IEEE club.
I wouldn’t consider myself an expert but I guess enough people were interested in how I made a project that had sound reactive lights.
What do you think I should cover? What are some critical talking points? Could you think of any “core” functions you like to reuse with FastLED projects? Any advice on creating more complex/advanced lighting effects?
I don’t know how it’s your public. I made a small demo for the celebrating of the Freedom Hardware Day at my local makerspace, but was very basic, beacuase I wanted overhelm people.
If you are givin a presentation in your local student IEEE branch I think taht you can keep the level high. They are people that use to play with that kind of stuff. So a Led Matrix or some led strips that acts reactive to a sensors, or some kind of sensor its a good idea. For example regulating the output depending of the amount of the light. I like use photoresistors to measure the amount of life and dimmer the leds in proportion of the envioroment ligth, because I don’t want a disco at home. SO i you dim or switch off lights leds reduce its power, and if there are lot of light you will drive the lights at full power.
And of course, more sensor. Light only for the power, but the show mus be driven by another sensors. I don’t know hoy it’s the place you will give your presentation and how much space you have.
Thanks! The photo resistor is a good idea to show off sensor data.
I don’t think the people showing up will be too experienced with this kind of stuff (we’re having basic soldering and Arduino workshops the week prior to my demo) so I want to keep it some what grounded. Also I myself am not an EE major, this is just something I do in my free time so there’s some limitations there as well.
I’m particularly liking the “fade and draw new” technique these days. Each time through loop(), instead of blacking out the LED array and rendering a new frame from scratch, just ‘fade’ the contents of the array a bit and draw new material on top at full brightness. This gives a nice sophisticated motion blur effect very easily and cheaply.
For example, a ‘Cylon’ moving dot with fading motion blurred trails can be expressed with just this:
fadeToBlackBy( leds, NUM_LEDS, 20);
int pos = beatsin16(13,0,NUM_LEDS);
leds[pos] = CRGB::Red;
This technique is used a couple of ways in the DemoReel100 example.
The other core thing that I like to use in classes is the automatic HSV color conversion, usually with just pure hues to start with:
leds[i] = CHSV( hue, 255, 255);
Let us know how it goes and what you decide to cover!
Oh, and I believe that @Andrew_Tuline put together some good course materials too; you might want to track those down and check them out!
@Mark_Martinez dang that code is elegant! I too have a Cylon/Knight Rider function in my code already but I need to update it with this. Also i didn’t know about the fadeToBlackBy().
Never really tried CHSV() and I like that a lot. In Adafruit’s sample code (using their library) to make a rolling-rainbow color they have a crazy color-wheel function at the bottom. I’m able to do this much more simply increment the hue to each led and then subtracting leds*setsize+1 when it loops around to get a progressive rolling colors. So ill be showing this off too.
@Andrew_Tuline those are very thorough slides i might use a few of them. the FHT library is interesting. Im using a MSGEQ7 chip myself