Тёмный

FastLED Basics Episode 4 - Waves and blur 

Scott Marley
Подписаться 15 тыс.
Просмотров 65 тыс.
50% 1

Опубликовано:

 

1 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 114   
@turnerkirk4600
@turnerkirk4600 3 года назад
PRAISE THE LED GODS!!! This has to be the greatest FastLED tutorial series ever created. 1) The way you explained converting to floating point values was so easy to understand! I've tried reading through the FastLED code many times and always just give up trying to understand what a Q8.8 is (and a fract8 and a qadd8 and all the other things they've created). 2) your explanation of time offset and phase and how they work together is absolutely brilliant. I've tried and failed so many times to find a way to understand these functions only to find open questions on forums or stack overflow where the answers were not correct. THIS is very correct! thank you!
@krikks
@krikks 3 года назад
Thank you for these great videos. Im a total noob, but with your help, learning is a breeze. Again, thank you! :)
@paulbaird1351
@paulbaird1351 2 года назад
Scott I keep coming back to this video set. It's solidified my project for certain! A question though - With Blur1d, as the driving pixel nears the end of the strip and reaches the last LED, the blur trailing it also disappears before reaching the end. It makes sense to me why it's doing that as the blur depends on the driving pixel, but is there a quick work around to ensure the blur continues on course, or should I arbitrarily change the LED_NUMS to be higher than my actual strip to act as a quick fix?
@ScottMarley
@ScottMarley 2 года назад
I have seen this before, and like you I cheated and increased NUM_LEDs!
@etherealx3
@etherealx3 3 года назад
Hey, I really love these videos they helped me a LOT on how to learn all the FastLED library, I generaly never coment on any video but I really wanted to thank you for taking the time to make this series, thank you so much! :)
@ScottMarley
@ScottMarley 3 года назад
Thank you, I appreciate everyone who takes the time to comment, it really encourges me to keep going however time-conuming it ends up being!
@SergeiJonovich
@SergeiJonovich 3 года назад
Another great episode - slowly becoming more enlightened... Trying not to blur or fade too much before the next ;)
@Marc_Miller
@Marc_Miller 3 года назад
:)
@stevenhyde7277
@stevenhyde7277 3 года назад
followed these series of vids, brilliant, all worked, many thanks Scott
@iuhere
@iuhere 3 года назад
very well compiled series, much thoughtful , and generous . In short easy for beginners. Thank you for creating this series. Good luck. Good day.
@ariherzig6926
@ariherzig6926 3 года назад
Thank you so much for making these videos! I've been using some of the functionality of FastLED for a while, but have been stuck on just how to use a lot of the functions. You're teaching style is so great at getting the information across without any extraneous fluff.
@ScottMarley
@ScottMarley 3 года назад
Thanks, I get bored watching fluff so try to avoid it ;) all the best!
@BooBar2521
@BooBar2521 3 года назад
Wow thank You for this Tutorial You helped me a lot 🙏🏻🔥🇩🇪
@jeanetiennette5742
@jeanetiennette5742 3 года назад
Thank you for the explanations. How would you go if you want the sawtooth to start with red and end up with purple continuously, that is, same colour all the time.
@ScottMarley
@ScottMarley 3 года назад
Hi, I've replied to you via email, glad you found the videos useful!
@neveroddnoreven1553
@neveroddnoreven1553 2 года назад
This is seriously awesome stuff! Great work Scott
@SpinaRCSpeed
@SpinaRCSpeed 2 года назад
Hello, so bad that its not in french. Would like konw please, how to do for little fade between led same a vumeter ? Mean option gravity
@failurite
@failurite 5 месяцев назад
Scott, curious if you have played with ChatGPT with regards to these types of equations. I feel like it should be good at this visual effect -> math -> change in input arguments type of code generation. I think a video specifically on how you communicated an effect to ChatGPT and how the resulting code mapped to a given math equation/wave would be super informative, especially for people that are less into coding and more into getting to a given effect output. Really amazing video, I learned more about how to do moving LED's in an efficient way in 10 minutes than all the googling i've done on the topic.
@blmagic2563
@blmagic2563 2 года назад
Please could you be a total hero :-). Love this effect, but to blur between colours 255,25,0 and 255,0,0 between 8. and 44 leds please. thank you...
@navneet5084
@navneet5084 3 года назад
I just love your FastLED tutorials. Could you please make one where we can take the audio input (from some media file/audio sensor) and convert them into light output in terms of waves? That'd be so cool!
@ScottMarley
@ScottMarley 3 года назад
I have a lot of videos on sound reactive stuff on my channel, have a look there. And thank you!
@dvohwinkel
@dvohwinkel 3 года назад
Scott, another great video. Good use of visuals to explain the concept of the beatsin. It made it much easier to understand. I had never even heard of the blur function so that was cool. When you have multiple waves the addition is not really adding the two colors to each other is it? It's more of the int values are being added and then the color is pulled from the hue wheel.. I'm not sure if my question is even making sense :)
@ScottMarley
@ScottMarley 3 года назад
It depends on which example you're talking about, but basically, yes! The two waves added together just give a number from 0-255 then that number is used to select the hue (or index from a palette if you're talking about that one!).
@ScottMarley
@ScottMarley 3 года назад
But of course you can use the output from beatsin8 as an input to pretty much anything, hue, brightness, position, color index, RGB values, timing functions, amounts of blur, whatever.
@dvohwinkel
@dvohwinkel 3 года назад
@@ScottMarley Any chance you can do a video on Pacifica? :) Though that is probably way past where we are currently.
@MxFx2109
@MxFx2109 3 года назад
Your videos are amazing! I'm an absolute newb and you teach in a way that is easily understandable. Thank you for taking your time to make these videos. Learning how to code inputs like a button to switch modes have been troublesome for me to grasp. Might be a cool Idea for a future video :)
@ScottMarley
@ScottMarley 3 года назад
Coming up in episode 5. Stay tuned!
@scottstevens7569
@scottstevens7569 3 года назад
These are Great Tutorials! I feel like I'm almost understanding some of those 'esoteric' functions I've had no idea what to do with before.
@ScottMarley
@ScottMarley 3 года назад
Once you start playing with them you'll find that they're waaaay more useful than you originally thought. And they're not too difficult to understand really, it's just that they're not explained very well in the documentation. Thank you for your comment :)
@shreyaroy1707
@shreyaroy1707 Год назад
Thank you for your excellent learning series! I've got 150 LEDS and in the beatsin8 function, when I select a bpm of 10 or 30, some of the lights on the led strip are left out and dont illuminate in the moving dot example. Is there a way to select a bpm where every single illuminate as the light travel alongs the strip?
@todbot
@todbot 3 года назад
This a wonderful series, thank you. I've been a FastLED user for many years and your videos make certain concepts very clear!
@ScottMarley
@ScottMarley 3 года назад
Thank you, I'm trying to mke sure it doesn't take other people as long as it has taken me to figure all this out!
@MichaelJohnson-mi4mb
@MichaelJohnson-mi4mb 2 года назад
Brand new to the world of Arduino. Just found you videos. On the Beatsin8, I keep coming up with and exit status 1 Error compiling for board Arduino Uno. I'm not sure what is wrong. I've copied what you have but I can't seem to get rid of the error
@MichaelJohnson-mi4mb
@MichaelJohnson-mi4mb 2 года назад
Nevermind. found my error. Thank you
@duckydev9427
@duckydev9427 Год назад
Interested in working with me on an LED animation project? Can offer compensation as well! It’s for a cube and dode! Any way of communicating? Telegram?
@ScottMarley
@ScottMarley Год назад
I have done so in the past, but it's rare. People underestimate how long it takes to work on things like this and freak out when I tell them what they will be paying ;)
@juanhernandez-up4pg
@juanhernandez-up4pg 3 года назад
Very helpful, thank you.
@brightdaygaming5692
@brightdaygaming5692 2 года назад
hi scott, is there a way to make a sunrise effect using something like fastled. i want to make something where my led strip starts off dark blue low brightness then from a "hotspot" point on the strip (say middle) i want it to start getting brighter and a lighter blue untill most the led strip has become this colour (fading out from the hotspot to the ends of the strip) and then i want the hotspot to become a red/oringe and as that covers the strip i want it to become a more yellow to white before it engulfs the full strip, then i want the strip to slowly become a daylight white after a set time say 5 mins. i only ask because on a forum ive asked for help on someones dm'd me saying it cant be done on fastLED but it can be done on something else they are trying to get me to pay for. hope you can help, all the best.
@ScottMarley
@ScottMarley 2 года назад
Not sure what they mean by saying it can't be done. Each LED can be set to any colour you like, so in principle any pattern can be created. Might not be easy to code, but anything is possible with enough dedication ;)
@BenderdickCumbersnatch
@BenderdickCumbersnatch 3 года назад
These tutorials are incredibly good. Thank you! By the way, 7:40 this code doesn't look okay? The beat wave variables are 8 bit variables. So doing "(beat + beat2) / 2" will create a new temporary 8 bit variable, add another 8 bit variable to it thus overflowing, and THEN divides the overflow by 2. I bet the effect still does pretty much what you wanted. But proper math would probably be to do "(beat / 2 + beat2 / 2)"? Halving them before adding them together to ensure the result is still within the range of an 8 bit number.
@ScottMarley
@ScottMarley 3 года назад
Good catch on that, I'll update the code if I remember!
@srinivasaledworks5126
@srinivasaledworks5126 3 года назад
Please try this type projects sir
@basem99h
@basem99h 3 года назад
Thanks , very good as usual
@ThePaddingtonsChannel
@ThePaddingtonsChannel 8 месяцев назад
Great video series to show how to actually use the given library functions and see the actual results. Thanks a lot!
@donaldmartin2640
@donaldmartin2640 3 года назад
The dummy again. LOL blurld(leds, NUM_LEDS, 150) comes up not declared in this scope. It doesn't appear to be in FastLED.h. Suggestions? Thanks for your support.
@ScottMarley
@ScottMarley 3 года назад
I might be wrong, but I think you've written an I there. It's supposed to be blur1d (as opposed to blur2d). Is that the problem?
@donaldmartin2640
@donaldmartin2640 3 года назад
@@ScottMarley Well, the 'one' did it. Thanks.
@thedenus
@thedenus Год назад
Thank you so much for that. As a newbie, I was looking for this for so long for a specific project. I watched all 4 videos and learn a lot. You have a amazing way to explain things. Thanks again!
@hazardousblue
@hazardousblue 3 года назад
happy to help support, do you have link for amazon.ca that you get qualified purchases through ?
@Richie_
@Richie_ 2 года назад
Great video. I will have to play with the code for a while.
@matthiash.454
@matthiash.454 3 года назад
Very interesting continue like this
@joeb.fromsydneyaustralia5313
@joeb.fromsydneyaustralia5313 2 года назад
Another great video lesson by Scott Marley! (Thanks Scott!)
@marviks
@marviks 3 года назад
Thanks so much for these tutorials. Makes it so much easier to get into this library. Again, thanks!
@MoGabbRomania
@MoGabbRomania 3 года назад
after this tutorial i learned so many things now i understand more function (mechanism) of fastled, greatest tutorial :D
@leonvita91uk
@leonvita91uk 3 месяца назад
amazing, no one explain it like you :)
@glendaniel7971
@glendaniel7971 3 года назад
Another great video, these are the best training FastLED tutorials out here, i really hope you keep going there are so many topics that could be covered. i hope you build enough viewership to get some return. I personally am trying to build a controller for my back yard that will control 4 strips in different patterns. so making my patterns nonblocking is critical. is it possible you can go into more detail about using EVERY_N... functions and/or how to adapt some of the amazing patterns avaiable (even in the fast led library)but ruined by using delays, or FastLED.shows calls in the middle. (apparently slows everything down)
@ScottMarley
@ScottMarley 3 года назад
Thank you, not quite at the point that RU-vid will pay me yet! I do have a donation link in the description if you're so inclined, but it is absolutely not required! You can see how to use multiple patterns in Episode 5. To use different patterns on different strips, you would do something similar, but have multiple LED arrays set up that the patterns write to. See here for more info github.com/FastLED/FastLED/wiki/Multiple-Controller-Examples
@schlotdoglaser
@schlotdoglaser 3 года назад
awesome video as always. Scott, on the section "addingWaves" you have lines 19 & 20 (in the sample code) as beatsin16 but your demo has it at 8. I didn't get the same results as you did until I changed it to beatsin8
@ScottMarley
@ScottMarley 3 года назад
Ah, good spot. I'll update that when I remember. Thanks for checking!
@paulvorderegger1522
@paulvorderegger1522 3 года назад
I just want to say this is THE best programming tutorial series I have seen. I have very little knowledge of C++ and I have never used FastLED (though I develop Android apps with Java) and everything is so easy to understand and everything makes sense. I understand every line of code in all the videos because your explanations are really good. I never thought that I'd find a tutorial useful for anything other than a problem in my code but this just makes me want to open my IDE.
@ScottMarley
@ScottMarley 3 года назад
That's really kind of you, and if you're considering it then grab a microcontroller and an LED strip and start making some cool stuff!
@domenicrovito2999
@domenicrovito2999 3 года назад
Hey, great tutorial. I am currently having a problem with the random red light and I can’t seem to fix it. I’m not using any fill rainbow command but I already tried fixing those values, it didn’t work. Im using code very similar to the twinkleFOX fastLED code. Hopefully you could help (or someone else in the comments). Thanks in advance!
@ScottMarley
@ScottMarley 3 года назад
Put your code on pastebin and link it here.
@domenicrovito2999
@domenicrovito2999 3 года назад
@@ScottMarley I figured out the problem it was very minor 🤦‍♂️. Thanks for the help tho
@donaldmartin2640
@donaldmartin2640 3 года назад
Sorry for the chatter. Great series. Learning a lot. But how do you kick start the Serial Plotter? Dang that is cool.
@ScottMarley
@ScottMarley 3 года назад
Not sure what you're after, but instructions on getting started with the serial plotter can be found here arduinogetstarted.com/tutorials/arduino-serial-plotter thanks for your comments!
@danielbigelow2193
@danielbigelow2193 3 года назад
Hey thanks for the tutorial..how would you go about increasing the speed of the sawtooth? I tried messing with the numbers but didn’t get the right outcome (pretty cool results though)
@ScottMarley
@ScottMarley 3 года назад
Change the BPM value - the first parameter of beat8, it's set to 40 in the example code.
@javierperea8954
@javierperea8954 2 года назад
Your are awesome my friend!
@paulbaird1351
@paulbaird1351 2 года назад
Scott this intro series is amazing, I'm learning quickly! Could you give me a hint as to how I might phaseshift with beat8 and its 'sawtooth' effect??
@ScottMarley
@ScottMarley 2 года назад
You would have to use the timebase to phase shift on beat8. See the part of the video where I talk about beatsin8 and explain how the timebase works. The only issue with using the timebase is that if the frequency changes you will also have to update the timebase if you want the same phas shift.
@paulbaird1351
@paulbaird1351 2 года назад
@@ScottMarley Perfect! Took a bit of math but I got it to work. Thanks a bunch for the advice.
@BooBar2521
@BooBar2521 3 года назад
Very good Video but You speak a Bit to fast in My opinion, 👌🏻👍🏻
@ScottMarley
@ScottMarley 3 года назад
Sorry for that, I'm afraid it's my normal cadence.
@BooBar2521
@BooBar2521 3 года назад
@@ScottMarley haha no problem
@jahwerx
@jahwerx 3 года назад
There were 255 likes... When I clicked like, it didn't reset to 0 ;)
@ScottMarley
@ScottMarley 3 года назад
Ah well, let's see what happens at 65535 ;)
@jahwerx
@jahwerx 3 года назад
@@ScottMarley Keep up these great videos, and you'll be there swiftly!
@jjproductions4321
@jjproductions4321 3 года назад
Well done! I really like how you include examples of the code and the outcome on the LEDs! Great stuff, I have learned A LOT from your videos! Thank you!
@ScottMarley
@ScottMarley 3 года назад
Thanks, now go make something awesome!
@jjproductions4321
@jjproductions4321 3 года назад
@@ScottMarley I have some great hardware installation on some props for my kids dance studio! Running ~300 LEDs on various strips at long distances. I had some functional code working, but your videos have really fine tuned my stuff and I was able to add some great features! I'm using a Teensy LC + OCTOWS2811 Adapter + HC-05 Bluetooth Adapter for the control aspect. I was initially using the WS2813 LEDs, but had lots of reliability issues with them, lots of defective LEDs after being ON under a relatively high power condition (like AQUA or WHITE) - I discovered this to be related to heat issues with the driver IC inside the LED. I switched to the SK6812 LED strips and have had zero issues with reliability. The color matching from LED to LED is far superior with the SK6812 over the WS2813 LEDs. Anyway, many thanks again!
@3D-Amir
@3D-Amir 3 года назад
Great tutorial as always! Thank you Scott
@muhlismb1389
@muhlismb1389 3 года назад
I get an error message 'leds' was not declared in this scope
@andyklenzman3845
@andyklenzman3845 2 года назад
Is there a way to assign a palette to a sin wave?
@andyklenzman3845
@andyklenzman3845 2 года назад
Let me be more clear....when you use sinbeat to change the position of the blue LED, would it be possible to instead have the blue LED be rotating through a palette of colors?
@bentebrunsvelt319
@bentebrunsvelt319 3 года назад
Super cool 👍👍🇳🇱
@beinbroke431
@beinbroke431 3 года назад
10/10
@bisayagamer5072
@bisayagamer5072 3 года назад
Hai good day sir it is possible all files of your waves and blur well be random?
@ScottMarley
@ScottMarley 3 года назад
I'm not sure what you mean by this? You can use random8(min, max) to generate a random number between min and max and use this for some of the parameters. Is that what you mean?
@bisayagamer5072
@bisayagamer5072 3 года назад
Thank you for reply sir what i mean sir all code in WAVES AND BLUR( addingwaves, blur, blurphasebeat, brightnesswave, gradientbeat, movingdot, phasebeat, rainbowbeat, and sawtooth) it wll put in 1 code so i can play in one code Is that possible sir?
@ScottMarley
@ScottMarley 3 года назад
@@bisayagamer5072 oh, I understand. Yes it's possible! I show you how to combine patterns in episode 5. Watch that video, and use the code there to see how it is done.
@bisayagamer5072
@bisayagamer5072 3 года назад
WOW!!! Very helpful sir now i can start may design your my hero sir thank you so much i already subscribe your chanel and the notification 🔔 so i can update your chanel
@WildStyleGamerz
@WildStyleGamerz 3 года назад
Hey, great video! I do have one question: When I use a beastsin8 wave on my ledstrip (120leds) some of the leds don't light up. What causes this and how can I fix that? Thanks for the great content!
@ScottMarley
@ScottMarley 3 года назад
Can't say without seeing your code. And when you say don't light up, do you mean at random, or the first so many work and the rest don't etc. Put your code on pastebin and link it here and I'll have a look.
@WildStyleGamerz
@WildStyleGamerz 3 года назад
@@ScottMarley pastebin.com/LsCRY97F In this script I tried to only light up the first 70 leds, but the one of them did not light up. Thanks in advance!
@ScottMarley
@ScottMarley 3 года назад
@@WildStyleGamerz which one didn't light up? The first one? The last one? A random one? When asking for help, try to be as descriptive as you can otherwise it's really difficult.
@WildStyleGamerz
@WildStyleGamerz 3 года назад
@@ScottMarley I'm sorry i forgot to specify: The led(s) that does not light up seems to be random and dependent of the amount of leds. (The leds that don't light up stay the same when the program isn't changed) When using 70 leds there seem to be 2 random ones which don't work (always the same 2 though). When i use all leds there are more that won't shine. The leds that don't work aren't the same when using all of them compared to 70. Hope this explains my situation, sorry for my english. Thanks!
@ScottMarley
@ScottMarley 3 года назад
@@WildStyleGamerz Thank you for the detailed response. The problem you are having is due to the low resolution of beatsin8 (0-255) and the bpm at which your sin wave is generated. At certain points, the ouptut of beatsin8 is changing so quickly that a number gets skipped. The way around this is to change line 15 to: uint16_t sinBeat = beatsin16(30, 0, 70, 0, 0); This uses a higher resolution version of the beatsin function and should solve your problem. Hope that helps!
@Vu8uy
@Vu8uy 8 месяцев назад
9:42
@bogdangalatanu4197
@bogdangalatanu4197 3 года назад
Thanks! Amazing!
@jayme2428
@jayme2428 3 года назад
WOW THANKS SCOTT
@Marc_Miller
@Marc_Miller 3 года назад
Thank you Scott!
@jeremyjude57
@jeremyjude57 3 года назад
Thank you!
@did3d523
@did3d523 2 года назад
no understand blur... you explain too fast how blur only a zone?
@ScottMarley
@ScottMarley 2 года назад
Sorry, it's my natural talking speed! Maybe playback at 0.5 speed?
Далее
FastLED Basics Episode 1 - Getting started
17:59
Просмотров 278 тыс.
6 Horribly Common PCB Design Mistakes
10:40
Просмотров 203 тыс.
FastLED Basics Episode 2 - Color: RGB and HSV
16:37
Просмотров 101 тыс.
FastLED Basics Episode 3 - Palettes
13:05
Просмотров 73 тыс.
Hacking a weird TV censoring device
20:59
Просмотров 3,1 млн
The Value of Source Code
17:46
Просмотров 40 тыс.