instructables Easy LED Holiday Light Show Wizards in Winter WS2812B LED Strip Instructions

June 9, 2024
instructables

Easy LED Holiday Light Show: Wizards in Winter
WS2812B LED Strip With FastLED and an Arduino Tutorial
by Zero To Infinity

Easy LED Holiday Light Show Wizards in Winter WS2812B LED Strip

I designed and programmed this holiday light show to display anywhere. I used one WS2812B led strip with a pixel density of 30 pixels/ meter. Since I used 5 meters, I had a total of 150 LEDs. I kept the code simple so that anyone new to using WS2812B LED strips could easily follow the code. This also means that if you use di erent amounts of pixels, the timing will be o , so you should stick to 150 LEDs. Also, keeping it simple, the music system is not managed by the Arduino at all. At the beginning of the program, there are 3 ashes of green and 1 ash of red, then the actual light show starts. Since you have to start the music manually, these initial ashes are to give you an indication of when to start playing the music. I have included the code below. Feel free to add on to or change this code for non-commercial purposes.

Supplies:

  • WS2812B LED Strip
  • Arduino
  • Wires
  • 5V 10A Power Supply | If you are using more than one strip, you will need to use a larger power supply. Each pixel uses 60mA, so 150 pixels * 60mA = 9A. Your power supply must be able to handle this if you intend to use full brightness at white. You must use a 5V power supply if you are using 5V LED strips and if you are using 12V LED strips, you will need to use a 12V power supply, but also use a 12-5V converter to power the 5V Arduino.

https://youtu.be/TWHZNKEFUSo

https://www.instructables.com/ORIG/FRI/3P3V/K5R380TA/FRI3P3VK5R380TA.ino

Download the FastLED Library

If you don’t already have the FastLED library downloaded, download the latest version from github.com/FastLED/FastLED/releases
Download the FastLED library, and move it to your Arduino libraries folder. Do NOT change the name of this folder. In the Arduino IDE, go to Sketch, Include Library, and then Add .ZIP Library. Select the FastLED folder.
Once your library is set up, include the line #include This line tells the program that you are using that library.

Define a Few Variables

As I mentioned earlier, in order to keep the code simple, changing the number of pixels will change the timing or the light show.
The line #de ne NUM_LEDS 150 is where you put the number of pixels used. In this case, it will be 150.
The line #de ne DATA_PIN 5 is where you put the digital pin that you connected the data wire to.
The line #de ne BRIGHTNESS 255 is where you put the brightness from a scale of 0-255, with 255 being the brightest.

The Setup Section of Code

In the setup section, there is a delay for 2 seconds and the line
Fast LED. add Leds (leds, NUM_LEDS).set Correction(Typical LED Strip);
WS2812B indicated the type of LED strip that we used and DATAPIN is the variable that we dened in a previous step. GRB is the color order. This could vary depending on the LED strip used. Try the code as is, and if the colors aren’t the same as in the video, try changing this to RGB, or BRG for example. You can leave the rest of this line the same.
The lines Fast LED. set Brightness(max
bright); set max power _in _volts _and _milliamps(5, 8000);
limit the power usage of the LED strip. This is an amazing feature from the Fast LED library. The number 5 is the voltage that we used, and the number 8000 is the maximum current that the LED strip can use in mA. It is recommended to only use 80% of the power supply’s capability to extend its lifetime. Since I have a 10A power supply, 0.8*10 = 8A, or 8000mA.

The Loop Section | Aka, the Cool Part of the Code

Now that we are done setting up the program for our particular LED strip, we can get to part the actually makes the strips light up. To keep this section looking clean, I used wrote functions to control the strips and do di erent e ects. The above picture to the left is part of the loop section, which runs the functions. The picture on the right is below that and is where I wrote what each function does.

Wiring

The WS2812B LED strips have 3 terminals at each end. 2 for power, and 1 for the data signal coming from our Arduino.
Simply connect 2 wires to the Arduino’s power terminals, and connect 2 power wires to the LED strip. You should also add 2 power wires called power injection wires to the end of the strip because voltage loss can lead to dim LEDs at the end of the strip if you don’t do this. Check the labels on the strip to see which terminal is for what. Mixing up the polarity could lead to a fried strip. Also, connect the Arduino’s ground wire to the ground wire on the LED strip to establish a common ground for better data transmission. I mentioned that you should add power injection wires, but you CAN NOT do this for the data wire. This is because each LED rebroadcasts the data signal to the next one, so make sure to connect 1 data wire to the specied Arduino pin and the LED strip. The strip should have a small arrow indicated the direction of data travel. Make sure the put the data signal wire at the beginning and not the end. Mixing this up could lead to a fried strip.

Mounting the LED Strip

I mounted my LED strip to the inside of a window by simply taping it. However, there are many other ways that you could mount your LED strip. You could use an aluminum channel such as https://tinyurl.com/s2km4v3 to put the strips outside on your rooine. If you are putting your LED strips outside, I recommend using the ip65 strips if you are using an aluminum channel because they are semi-waterproof, and are thinner than the 1p67, which may not t in some channels. If you intend to mount this outside without a channel, use the ip67 strips, which are practically waterproof. To go around a corner, such as the ones at the peaks of your rooine, you should ideally cut the strip, and use wires to go around the corner. You may be able to away with just bending the strip, but be wary of how much you bend them because it’s easy to pop o an LED.
I love when lights are set to music 🙂

Easy LED Holiday Light Show: Wizards in Winter
WS2812B LED Strip With FastLED and an Arduino Tutorial:

Documents / Resources

| instructables Easy LED Holiday Light Show Wizards in Winter WS2812B LED Strip [pdf] Instructions
Easy LED Holiday Light Show Wizards in Winter WS2812B LED Strip, WS2812B LED Strip, WS2812B Strip, Strip
---|---

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

instructables User Manuals

Related Manuals