Controlling LED Strip (ws2813)
-
-
To get the color of the video to an LED maybe this is a good start?:
Some years ago I had a lot of RGB lights placed in a cathedral I wanted to use video to change the light in the room in 3 dimensions. so that the colors can change from left to right, front to back and ceiling to floor. On the X&Y plane i used something like a pixel map.
I recently updated it with gpu and javascript: Pixel map.izz (explanation is in the file) -
@gertjanb said:
RGB lights
Hi,
Thanks for sharing the patch. And that cathedral image is sensational!
Just a quick question is DMX and Artnet the only options for addressing the LED strips using Isadora?
Best wishes
Bonemap
-
The RGBLights where standard DMX theater lights.
For the RGB strips I've been using serial or osc with preprogrammed animations on the arduino so I was looking for better ways on this forum.
-
@bonemap said:
Is there any chance of a HowTo for working with LED strips interfaced with Isadora?
I plan to write up a tutorial/walk thru covering the project I just built.
It will be hardware specific (as I think each case will be) but should be easy enough to port to other hardware solutions as needed. -
@bonemap said:
is DMX and Artnet the only options for addressing the LED strips using Isadora?
as @GertjanB mentioned, using an microprocessor to control the LED strip is also a good option, and doesn't require a converter (like the LeDMX4 PRO). This does require programming the microcontroller / arduino, and probably using a library like FastLED.
Using DMX or Artnet allows you to control the LED output directly from Isadora.. this is powerful because it becomes easy to use video as the source. Artnet is prefered since a larger number of LEDs can be controlled (both use DMX, but Artnet supports more Universes more easily).
For example the LeDMX4 PRO I am using supports 4 channels each using one DMX universe.. thats a max of ~170 RGB leds per channel, 680 total.
I currently have only 200 leds running, 100 per channel using 2 channels. I have tested also with 50 per channel using all 4 channels. ( I am waiting for an order of more LEDS to come so I can test maxing it out).Additionally is should be possible to have multiple artnet devices connected to Isadora (I am testing this in the next few days)
If you got inventive I am sure you could work out ways to use OSC to a microcontroller as another way of controlling LEDs, but the new Artnet options are much easier.
I have another DMXking unit, the eDMX1 PRO, and its been basically Plug and Play to get DMX fixtures working via Artnet. -
@dusx said:
Using DMX or Artnet allows you to control the LED output directly from Isadora
Thank you for your insights they are full of valuable information. It would be great to have a forum thread to keep up to date with how this progresses.
best wishes
bonemap
-
Hi there,
Just sharing my experience with Isadora and controlling a whooping 1500 pixels (That are 4500 channels with data ! 25 meters of 60/m) using Artnet. In the past I used a NodeMCU 1.0 using Artnet. Currently I'm using a dedicated Ethernet solution since WiFi boards tend to bit a unreliable with location work. The code for the NodeMCU project can be found here (https://github.com/JuriaanGreg...) Kudos to rStephan for a huge part of the code :)
- 5V pixels need quite a bit of power. Personally I prefer to have 60mA of power for each pixel (20mA for each color. Red, Green, Blue). But if your project doesn't needs them at full brightness or you only have 1 color at the time and not all 3 you can actually get away with less. Please be aware that if you do this calculation wrong that you get color differences at the end of your strip (voltage drop)
- Connect the ground of your Microcontroller to the ground of your power supply / GND line of the pixelstrip. Add a little perfboard to your strip and connect all grounds to it :)
- Add a condensator between your powersupply and the voltage lines of the pixelstrip. We do this to prevent a voltage spike damaging our first pixel :( 6.3v, 1000uF or more should do it.
- More information can be found in this great learning centre article by Adafruit (https://learn.adafruit.com/ada...)
It is possible to connect multiple Artnet devices to Isadora :) I got a Artnet to DMX controller and an Artnet to RGB controller plugged in at the same time. They are both having there IP in the same range.
- Juriaan
-
@juriaan said:
since WiFi boards tend to bit a unreliable
Hi,
Can you give more detail about your issues with the WiFi board, was it a UDP data issue or something else?
Best wishes
Bonemap
-
Hi there Bonemap,
It where multiple actually. The thing with WiFi boards is that you can't 100% rely on them in busy areas where they are a lot of signals. The festival is in the middle of the city with 1,500 people (inside the festival area) moving with mobile networks / WiFi access points. Also RAM becomes a big issue if you wish to send that much pixels as I did ;) Connecting multiple NodeMCU at the same time is possible, but at this stage I thought "How about a dedicated Ethernet solution so that I don't have to deal with all this.."
A few things that are essential to code :
1. The module should auto reconnect if he doesn't receives any signal.
2. The module should go in AP-mode to set the settings / change the configuration. This is really simple with something like an ESP WiFi Manager (look at Github ;) )
-
@juriaan said:
a lot of signals. The festival is in the middle of the city with 1,500 people (inside the festival area) moving with mobile networks / WiFi access points.
Did you try a dedicated WiFi system with signal gain or other antenna option? Do you anticipate that even with a dedicated WiFi system, you will always experience network interference in a congested environment ?
Best wishes
Bonemap
-
WS2813 led is dual signal,you just need to connect one signal wire to arduino.
-
I think If you have a 50% chance of getting it right, you have a 100% chance of getting it wrong", I had NO IDEA the strips are directional, now I see the little arrow head indicating direction. I swapped the harness to the other end and Viola, works great.
-
Well let's be honest here.. There are multiple things that you actually can do wrong with LED pixels. Please work safely with those kind of materials that require power in such high Amperages and also make them safe for your installations / work if an audience member can get close to it / etc.
Just a few notes that I wish to drop about working with LED installations :
- Get a great PSU from a manufacturer that is known for the quantity. (MeanWell for example has excellent power supplies, never get Power supplies second hand because you don't know what happended to them, or you can rely on them, etc)
With power comes great responsibility. A few things that you should do when you are working with LED pixels is
- Get wire that can handle the current. (There are graphs online for this kind of shizzle. Look them up !)
- Protect your circuit from peak power by adding an fuse box and adding capacitors to your circuit. If you put your LED strip outside / in an environment with a lot of dust / etc use dedicated hardware that is designed to be used in such environments ! (You can get IP67 protected pixels). Please also use Connectors that are IP67 proof if you need to create an installation in such a environment.
- Never ever ever let your audience member have direct access to your power supply ! Make a nice box around it (With a few holes since we need to lose the heat !) that protects your power supply.
- Get some connectors that are rated for the power :)
About connecting your pixels :
- Always first connect the GND to your pixels, after that your data line and as last the 5v+ (or 12v depending on your pixels)
- When you wish to disconnect do it in reverse order and you will never cause harm to your pixels ;)
- Add a resistor between your data line and your first pixel. This is to make sure that we don't do something stupid to our data line causing pixels to die :(
About production choices regarding pixels :
- If you need something that is robust for an installation for example use a pixelstrip with double data lines. (WS2812b / WS2813 (5v logic) are pixelstrips that won't die when a single pixel dies))