Led strips have become very common for various uses: from interior and exterior lighting, to decoration… today I’ll explain you which types of strips are available and I’ll show a pratical example for controlling them using Arduino and C#.
A led strip is made by a variable number of leds (usually in SMD package) soldered on a flexible PCB. Leds may be single color or RGB, able to produce (almost) all the colors in the light spectrum.
Led strips can also be waterproof, for outdoor use.
The strips include also the resistors needed to drive the leds; the power supply is usually 5 or 12V.
Addressable (digital) strips
Some strips are addressable or digital: those strips include some control chips that allow to drive each led independently from one another. Sometimes the chips are visibile, sometimes they are embedded in the leds:
It’s very important to distinguish the strips according to the number of independent leds: the cheapest ones use a single chip to drive 3 leds. Sometimes in the datasheets you may read about the number of pixel: a led strip with 30 leds/m and 10 pixels/m is a strip with only 10 chips, each of which drives 3 leds; so you can cut the strip only every 3 leds.
The most used control chips are: WS2801, WS2811, LPD8803, HL1606… the Arduino’s library I chose support all of them!
Almost all the digital led strips use a simple serial protocol: you need only an Arduino digital PIN to send the data and its ground, connected to the ground of the power supply you use for the strip.
On the Internet you can find some libraries for Arduino; I chose fastspi (official site) because it supports many control chips, it’s easy to use and very efficient in the use of the (limited) hardware resources of Arduino. In the next page you’ll find the Arduino’s sketch and the GUI, developed in C#…