News

Current BOM (3 comments)

Added by Derek Bever almost 11 years ago

I'm currently using an Arduino Uno for development. This will probably run on later versions, but don't take my word for it.

The other major component is the Tinkerkits DMX Master Shield. I purchased mine at Radio Shack, it's available for purchase online in the Arduino store. It isn't, unfortunately, available on Amazon just yet.

Some kind of 4x4 keypad. I like this one on Amazon because it's cheap, it's a sticker, and requires (in my experience) no debouncing whatsoever.

I'm currently using this 16x2 serial LCD from Sparkfun. I will likely be changing this before too long, though I will definitely continue to provide a version of the firmware that supports this screen, because these small serial LCDs are ubiquitous. I just think the size is a little large.

You'll also need, for the current firmware, four momentary pushbutton switches (though I currently have five hooked up), some hookup wire, and some pullup resistors (the value here isn't super important, I think I'm using 20kOhm).

To assemble the gizmo as it stands, you'll connect the four row pins of the keypad to arduino pins 6, 13, 12 and 11; connect the column lines to pins 10, 9, 8, and 7. This can easily change if you want, just remember to re-assign the pins in the code.

I arranged my pushbuttons onto a convenient piece of masonite for now, and tied one of the pins of each of them together. This common terminal goes to ground, and each of the other terminals is connected to Vcc via a pullup resistor, and pins A0-A4 on the arduino. The firmware currently implements software debouncing, so this is all that's needed (though you may or may not need to tweak settings for your specific switches, it's currently set at a very generous 250ms).

Connect the LCD to +5v and GND as marked on its PCB, and the data line goes to arduino pin A5.

You'll need to download the Arduino IDE

You will need the following libraries:

DMXMaster

SerLCD

Keypad

There's instructions on how to install these on those webpages.

You'll then need the Sketch

If this isn't enough to get you started, please ask questions and I'll do it better.

Project is in progress. (4 comments)

Added by Derek Bever almost 11 years ago

The project is currently at version 0.1 and running well. Currently the device has direct control over a full universe of DMX, allowing active modification of a single channel's value at a time. The interface is basic, allowing an arbitrary level to be set, for the active channel to be directly set to full or zero, or allowing all channels to be released. There's also a clear button in the event of incorrect values, and input sanitation to prevent impossible values from being entered.

https://www.youtube.com/watch?v=8oGVmMjnNsI

https://www.youtube.com/watch?v=x4itowiFaRY

The hardware currently consists of an Arduino, an off-the-shelf DMX shield from Tinkerkits, a 4x4 keypad and a 16x2 serial LCD.

The current state of the project is pretty far from where I hope to end up, but it's going to be a journey. Ultimately the device will likely be running on a Raspberry Pi or similar ARM-based single-core computer, with a user interface written in Python or Processing, but until I actually hit the limits of the Arduino I'd like to see how far I can get.

Next steps, currently, are interface design. There are a few more basic features (next/last channel, 5% up/down buttons, some way to view active channels) that need to be implemented. I'll need to locate a graphical LCD (I'm thinking about perhaps trying one of those 1.8" LCDs) that's suitable, and figure out how to design a UI.

Thanks for reading,
Derek

Semi-Hold (2 comments)

Added by Derek Bever over 12 years ago

So while I (Derek) am on the road, until mid-December at the least, probably very little will be happening. My other primary collaborator on this project is still settling in with a new job, so he probably won't be doing a lot for a while anyway. I'll try and get our various discussions and writings transferred over here at some point.

Right now the project isn't much of anything but ideas, but we're all really excited to carry it forward.

Also available in: Atom