zranger1 / expander-universe

Use Processing to drive large numbers of LEDs via USB Serial ports and Pixelblaze Output Expander boards
Other
9 stars 0 forks source link

ExpanderVerse

ExpanderVerse lets you drive addressable LEDs with your computer, a USB->Serial adapter, and a Pixelblaze Output Expander board. Potentially many LEDs.

(Beta 0.3.0) NOTE: Things will be changing frequently 'till the 1.0 release! See the additional notes for information on what's new in the current release.

Introduction

I'm a big fan of the Pixelblaze. It's the fastest way to get to the fun, creative part of an LED project. However, I've been working on a large scale, stationary art project, in a situation where reliable wifi was not going to be possible. I needed wired control over thousands of LEDs at a reasonably high frame rate, with very high reliability. The Pixelblaze Output Expander board provided a great way to drive all those LEDs, but for the multimedia, interactive bits, I was going to need a heftier controller.

So, instead of looking for another microcontroller, I took the USB->Serial interface code from PixelTeleporter and wrote ExpanderVerse. It lets you put a PC or Mac to work as an ludicrously overpowered LED controller. I've found it useful, and hope that you will too. If...

ExpanderVerse and a whole bunch of Pixelblaze Output Expander boards might be exactly what you need.

Features

Required Hardware

It doesn't take a killer gaming machine to run ExpanderVerse. My main dev machine died early in the project, and while waiting for a replacement, I built and tested all the demos on my backup system, which was awesome in 2012 when it was built, but is somewhat below average now. The larger Raspberry Pi models can probably do the job.

Installing the Library into Processing

To install on Processing 3, you will need to download ExpanderVerse.zip and manually copy it to the libraries folder of your Processing sketchbook. (Processing 4 has an easier procedure. I just need to finish testing with it. Meanwhile, these instructions will still work.)

To find the Processing sketchbook on your computer, open the Preferences window from the Processing application (PDE) and look for the "Sketchbook location" item at the top.

By default the following locations are used for your sketchbook folder:

Download the zip file for latest release from the repository.

Unzip and copy the ExpanderVerse folder into the libraries folder in the Processing sketchbook. If libraries does not exist, (unlikely, but possible) you will need to create it.

The folder structure should look like this when you're done:

Processing
  libraries
    ExpanderVerse
      examples
      library
      reference
      src

After restarting Processing, check the File/Examples... menu. ExpanderVerse and all its examples should be there, in the "Contributed Libraries" section.

Documentation

Documentation is a work in progress. More is always on the way!

Warnings, Disclaimers, Potential Pitfalls

ExpanderVerse is a toolkit for artists and creators with intermediate to advanced hardware and software experience. You WILL have to write code to use ExpanderVerse.

Processing is great place to learn graphics programming, and quite a few examples are provided, but there isn't a library of ready-to-run patterns. What gets displayed on your ten thousand LED sculpture is mostly up to you.

You should also be familiar with the LED hardware you'll be using, how to wire it and importantly, how to power it properly. Large numbers of LEDs require large amounts of power, which can definitely be dangerous, both to the equipment and to you. It pays to be very careful, and to check multiple times that voltage and polarity are correct before hooking things up.