Arduino - WS2812B LED Strip
In this tutorial, we are going to learn how to use Arduino to control WS2812B RGB LED strip. With a single Arduino pin:
- Arduino can control the color of each LED on the led strip individual
- Arduino can change the brightness of each LED on the led strip individual
Hardware Required
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Additionally, some links direct to products from our own brand, DIYables.
About WS2812B RGB LED Strip
Pinout
the WS2812B RGB LED Strip has three pins:
- GND pin: needs to be connected to GND (0V)
- VCC pin: needs to be connected to 5V of external power supply
- Din pin: is pin that receives the control signal. It should be connected to a Arduino pin.
※ NOTE THAT:
The order of pins can vary between manufacturers. ALWAYS use the labels printed on the LED Strip.
Wiring Diagram
This image is created using Fritzing. Click to enlarge image
How To Program For WS2812B RGB LED Strip
There are two libraries can be used to control WS2812B led strip:
- Adafruit NeoPixel library.
- FastLED library.
This tutorial will use the Adafruit NeoPixel library
- Declare a WS2812B object
- Initializes the WS2812B
- Set color of each individual LED (called pixel).
- Set brightness of all strip.
※ NOTE THAT:
- WS2812B.setBrightness() is used for all pixel on LED strip. To set the brightness for each individual pixel, we can scale the color value.
- The values set by WS2812B.setBrightness() and WS2812B.setPixelColor() only take effect when WS2812B.show() is called.
Arduino Code
The below code does:
- Turn pixels to green one by one with a delay between each pixel
- Turn off all pixels for two seconds
- Turn on all pixels to red at the same time for two seconds
- Repeat the above process infinitely
Quick Steps
- Navigate to the Libraries icon on the left bar of the Arduino IDE.
- Search “NeoPixel NeoPixel”, then find the WS2812B library by Adafruit
- Click Install button to install NeoPixel library.
- Copy the above code and open with Arduino IDE
- Click Upload button on Arduino IDE to upload code to Arduino
- See the LED effect
※ NOTE THAT:
For any complicated LED effect, we offer the paid programming service
Video Tutorial
We are considering to make the video tutorials. If you think the video tutorials are essential, please subscribe to our YouTube channel to give us motivation for making the videos.