Jump to content

Led Strips


Recommended Posts

As some of you may know, Shifters and myself started some time ago a project to get some LED strips working from VP. The greatest problem we had was the load on the system with the Ledwiz vbs file. Thanks to the amazing DOF from SwissLizard that is no longer a problem.

 

Recently we decided to restart our project and decided to go in the Artnet direction with driving the LED strips. Using an Arduino Mega with an Network shield and two 30 RGB LED LPD8806 strips. We made a lot off progress and we want to share what we have at the moment.

 

Since a video says more then a load of words, here is the video:

 

 

Link to comment
Share on other sites

  • Replies 51
  • Created
  • Last Reply

Thanks !

This is totaly controlled by DOF and its build in effects send thru Artnet. You sound almost supprised ? You have made an amazing piece of interfacing between VP and hardware and this shows only a small piece of it.

Credits for the Arduino programming is totaly for Shifters. The Arduino listens to Artnet and drives the the 2 8806 led strips via 4 pins and sets the Leds.

Configuration is handmade in the xml at the moment, getting to know my way around the workings. Don't think I have even scratched the surface of the possibilities that you have build.

Link to comment
Share on other sites

  • Content Provider

I thought that you are controlling your hardware using a homegrown deiver. Did even think that Artnet is a possible solution. It is always a very positive surprise to ke when people get creative with DOF.

For the configs, I can give you some more strip configs for my favorite tables. Juat get in touch if you want them.

Link to comment
Share on other sites

Our plans from the past where based on usb serial data coming from a kind of ledwiz type vbs script, until we found out that the vbs was the big bottleneck. We did not have the knowledge to interface with other systems like you do with B2S.

Now DOF is here we saw a different approach but wanted to use our hardware we have, thats why we use the 8806 strips, but I understand from Shifters that driving the 2812 strips also would be possible. Driving 30 rgb leds is at the moment done in around 3ms, that should be more then enough for pinball I think.

Would love some table config files to see how your approach is, I think you got my email in PM on the other forum. If you can add some of the images you are using in effects that would be great.

In the mean time I am thinking about making something to support complicated configuration in an easy webinterface. Will talk to the current ledwiz tool guys for sure on this later on.

Link to comment
Share on other sites

i can add any toy in configtool, let me know you need

 

Thank you very much, but for this we need the xml files and not the ini files.

 

At the moment I don't see the option on getting the effects with ini files, but please correct me if it can be done.

 

My thougths at the moment are that all toys connected to LEDwiz-like devices can be best configured using your perfect work on the ledwiz tool, I did that myself for button lamps, contactors, shaker and flashers (last one may change in the future). For LED strips like this more specific configuration is needed in using the special effects and stacking off them in DOF. The beauty is that DOF allows stacking of config files on a per table basis, perfect !

 

For now II am getting to know how exactly the different configurations can be made. Most important here is the cabinet,xml, if we get that right that any table.xml for any table can be made in a way it also can be shared among many people as long as the cabinet.xml is done in a generic way. What I am thinking here is specific nameing and placing of LED strips, such as LEDStripPlayfieldLeft, LEDStripPlayfieldRight and LEDStripPlayfieldTop. If that is done in a consistent way DOF can project the effects on those no matter the size of the LED strips.

 

Will keep you posted on the progress and possibly asking you how you have made specific thing to keep it generic.

Link to comment
Share on other sites

  • Content Provider

Hi Pixel

 

You can easily configure ledstrips through ini files and then it is also easy to have those config in the config tool. Configs in ini files are a bit more restricted than configs from xml, but I think there are enough possibilities.

If you have configs for led strips in ini files, they will also scale to the size and resolution of the ledstrip.

 

At the moment I have several strip toys configured for my cab:

  • Playfield right
  • Playfield left
  • Playfield back

At the moment I have handmade configs for 8 tables, plus configs for many more tables which have been created with a script (mainly imitating the flashers).

 

All the best

 

Tom

Link to comment
Share on other sites

  • Content Provider

Yes, that is no problem.

 

The following example defines a flicker effect: W54 White AL53 AW47 1700 AFDEN10 AFMIN150 AFMAX200

 

Compared to the old legacy solution there are much more different (and confusing) paramaters for the ini files: http://directoutput.github.io/DirectOutput/inifiles.html#inifiles_settingsconfigouts

 

The only thing to make this work is a cabinet config file which defines the matrix toy which is the target for your effects (I guess thats already configured in your setup) and a ledwiz equivalent toy which points to the matrix toy (Attention! Usually Ledwizequivalent toys point to outputs, but in this case they have to refer to the toy).

 

Here is the ledwizeqivalent of my cab:

    <LedWizEquivalent>
      <Name>LedWizEquivalent 50</Name>
      <Outputs>
        <LedWizEquivalentOutput>
          <OutputName>BackBoard</OutputName>
          <LedWizEquivalentOutputNumber>1</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Sideboard Right</OutputName>
          <LedWizEquivalentOutputNumber>4</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Buttons Right</OutputName>
          <LedWizEquivalentOutputNumber>7</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Sideboard Left</OutputName>
          <LedWizEquivalentOutputNumber>10</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        <LedWizEquivalentOutput>
          <OutputName>Cabinet Front Lamps</OutputName>
          <LedWizEquivalentOutputNumber>13</LedWizEquivalentOutputNumber>
        </LedWizEquivalentOutput>
        </Outputs>        
        <LedWizNumber>50</LedWizNumber>
     </LedWizEquivalent>

With this setup you can simply have a ini file which has the settings for the mattrix effects in the columns specified in the ledwizequivalent (I know this is a ugly hack ;))

Link to comment
Share on other sites

  • Content Provider

guys i have 2 ledbars grouped to a toygroup on my cabinet.xml, that is waiting your configs, i'm carrying of all the other toys for all tables, please share your configs!

so i create one toy named rgb adressable?

Link to comment
Share on other sites

@ Tom

Got it, config can be done from .ini file, cant see how I missed that in the docs. Question is, is the ini file the best way to do it. If I understand it correct then DOF converts the ini files internal to the xml. The xml gives also more structure and clearness about naming and such. If I remember correct you named ledwiz.ini as legacy, is this something you promote to use or is the xml file structure the prefered way ? I can see some big advantages in the xml, specialy on readability and ease in changing things.

If you can email me your xml files then please, hope to learn some things from them.

@ Arngrim

The config file I have at the moment is no ini file, besides the ones for contactors that is from your tool. All is done in the xml files for the cabinet and 1 table at the moment. Can you do anything with that ? Any how is is very in development, still learning how to do things in the files. Happy moving, my Southern neighbour ! ;)

@ Spektre

You mean something like this : http://www.hyperspin-fe.com/forum/showthread.php?16723-Table-Grid-system ? As Tom said, you can position fx with DOF, so I think that would add only something on contactors, and if I am correct there are some more or less default setups, even I cannot find any documentation on it :)

Link to comment
Share on other sites

  • Content Provider

@Pixel:

You are right. When DOF loads configs from ini files it use the settings to create a objekt structure which is similar to the structure which is created when xml files are used. At the moment DOF will continue to support ini files. XML files should work fine, but for a full switch to xml configs a new or upgraded config tool would be needed and DOF would probably also need a little more logic in the config loader part.

So for the moment I recommend to stick with the ini files, but experiments with xmls are more than welcome (xml configs havent been tested a lot yet).

Link to comment
Share on other sites

@Arngrim:

We need more than one RGB adressable toy.

Playfield Back, Playfield RIght & Playfield Left are the most important ones.

 

@Spektre:

Configs for ledstrips do have some position data in them anyway.

 

Yes, I had seen this, but this again underscores the usefulness of position data being given to table events instead of the ever growing list of toy names.

 

You need 3 RGB Toys (tagged with position in the name).   Someone else might need 4.  Someone else 3 or 12.

 

By creating table events with position data tagged to them, one could simply place RGB table events in the profiles and let the users map them to physical toys based on the position they have their particular toys in their tables, whether it be RGB strips, contactors, or what have you.

Link to comment
Share on other sites

Little update:

 

Got the WS2812 LED strips and Shifters did his magic on the Arduino. Made 3 rows of 32 leds each and started to make config for the cabinet and table.

 

Here is the result so far (look on utube in full screen !) :

 

 

Current configuration of the cab:

  • 1 ledwiz original (lamps, 5x flasher on top)
  • 1 digital plunger/nudge board without plunger, using outputs in ledwiz-compatible mode (flashers, rgb under cab)
  • 1 Arduino mega 1280 with ethernet shield
  • 2 x LPD8806 30 led playfield sides
  • 3 x WS2812 32 leds playfield top
  • contactors and shaker - not yet setup

The LED strips are all driven by DOF via Artnet, translation from that to LED strips is done by Arduino software. Cabinet config is done in three parts, ledstrips left, top and right. From there DOF takes over on the effects.

 

The software for Arduino is in testing stage at the moment but will be shared with the community once it is stable and simple enough to install for a lot off people. A maximum of 170 RGB leds per Arduino is the limit at the moment, and it can be both LPD8806 or WS2812 led strips. We see some opening on using multiple universes on Artnet but for the cost off an Arduino it could proof better to keep to the limits.

 

Now only to find more room to put some other toys :wub: :wub: :wub:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...