USITT Arduino SuperSession


Trinculo’s Attic is proud to sponsor the 2013 USITT Arduino SuperSession. This 3-hour session on Saturday afternoon will give you an opportunity to program the Arduino to control real world devices and get your hands dirty with all things microcontroller.

Session Details:
Saturday March 23rd
2PM to 4:45PM
USITT Conference in Milwaukee (Exact location TBD)

Description:
This is an introductory hands-on Arduino super-session. We will have experts and assistants on hand to help you work through problems as you build circuits that light up, react, and move. The workshop uses the SparkFun Inventor’s Kit as its base, teaching you up to 14 circuits and the programming behind them. The first hour will be dedicated to software and hardware setup using the Arduino Integrated Development Editor, with the remainder of the session focusing on input with sensors and controlling output devices (5VDC, 12VDC, 120VAC). Participants will be sorted by experience level, so if you’ve already played a little with Arduino, you won’t get stuck re-learning how to make an LED blink.

This session is limited to 32 slots and is completely free (with full conference admission, that is). A limited number of laptops will be available, but we recommend you bring your own. A working USB port is required, and the Arduino software and Processing should be downloaded prior to arrival.

To sign up (slots are limited!), please e-mail: usittarduino@gmail.com with your name, phone number, e-mail address, and whether you can bring a laptop.

We’ll try to keep this post up to date, but as of 9AM EST Mar 9th, there are 10 of 32 slots available. A confirmation response from usittarduino@gmail.com is required to be considered registered.

If you have any questions, please e-mail usittarduino@gmail.com.

Spectators are welcome in this session.

Custom Work: Stage Machinery Part 2 – Motion Control

A few months ago, we blogged about the winches we built for Grizzly Bear. We hinted at the clever motion control system we created for them, but we didn’t go into much detail in the original post. Here, for anyone who’s interested in the technicalities of motion control, are all the details:

The core problem we ran into when designing the winch system was that rather than being a cue-based system, where the instruction would be “move to position B at speed X”, we were dealing with a streaming DMX system. While the DMX system could send instructions like “target position B, speed X”, it was likely that we would encounter situations where we wanted both the target and the speed to change while in transit.

The preferred way of dealing with this, in general, is a PID loop. PID stands for Proportional Integral Differential and describes the three aspects of the control system that are implemented. PID loops are powerful, but they require a good bit of tuning to function properly. Given our limited timeline, we wanted to go with something a little simpler to implement. To some extent, we implemented a pure proportional controller, although we gave it knowledge of the system it was controlling to allow it to be a little smarter.

We ended up with a system that knew only a few variables: target speed (from DMX), target position (also from DMX), current speed (stored in program), and current position (read from sensor). The system ignored history, so it did not need to know anything about the past commands (much like a Buddhist, it lived in the Now). Here’s how we did it (what follows is a lot of code, so brace yourself).

Continue reading