-
Teensy DMX & Pixelmapping
05/23/2021 at 11:14 • 0 commentsTeensy DMX Listener/NeoPixel controller
Next step with Teensy DMX will be coding up a demo that uses the TeensyDMX library to respond to both the SIP (acronym meaning) and NullCode = channel data for up to 512 channels (512/3 or 512/4 pixels). The SIP side could be done using an SIPResponder as defined in one of TeensyDMX examples. The other would unpack the 512 channels into N pixels on M strands attached to the OctoWS2811.
A lil bit of code taken from forum.pjrc on TeensyLC with ArtNet
sets channel Buffer to data input, then copies for number of leds
using idx*3 +1 +2 (+3 for rgbw)channelBuffer[bufferIndex] = byte(data[i]);
// send to leds
Might need to define a DMX_Strip that encapsulates (strip Pin, NeoStrip object, LengthInPixels, Type (RGB/RGBW/GBR... perhaps using NeoPixel defines?))
for (int i = 0; i < NUM_LEDS; i++)
{
leds[i] = CRGB(channelBuffer[(i) * 3], channelBuffer[(i * 3) + 1], channelBuffer[(i * 3) + 2]);
}Pixel Mapping
Then comes the question of "How Do You Program Pixel Patterns with DMX"?, the answer being a whole class of fancy apps called "Pixel Mapping" There are a number of ways to do this, using very different applications.The tool I've used so far DMXControl3 apparently supports "Matrix" fixtures. Unfortunately the documentation on DMXControl3 is pathetically thin - at least as far as I've found on the website/wiki so far. There are a few YouTube videos that walk thru pixelmapping and other uses. Thats a bit of learning curve to climb/cliff to scale.
TouchDesigner is another tool with which I'm familiar for creating multimedia shows. I've used it for some test projects and find it quite intriguing. A mix of visual coding and Python. There are several tutorial videos on how to connect it up to a DMX/artnet system and some dmx led controllers for pixelmapping.
as of 23May2021 though, I'm going to have to put this part on hold and look at some other aspects - like how to get a raspberry Pi on artNet.