I know I’m late to this party, but I finally purchased an Arduino Uno microprocessor board over the holidays. If, like I was until last week, you don’t really know what an Arduino board is or why it’s something you should have, here’s the skinny: it’s an open-source printed circuit board centered around a basic microprocessor chip. The Uno board’s microprocessor is capable of some powerful data communication functions:

  1. Serial data communication (i.e, you can send information to it or receive information from it via serial communication—USB, serial cable, etc.)
  2. 14 discrete outputs (i.e., you can use the microprocessor to “turn on” up to 14 individual 5vDC circuits)
  3. Pulse-width-modulation control (on six of the 14 discrete outputs, the microprocessor is capable of using the same process SCR lighting dimmers use to provide “dimmable” output)
  4. Six analog inputs (the microprocessor can receive analog data from remote sensors—for example, potentiometers or faders)

And that’s just the basics. What this means is that for $35, I’ve got in my pocket a really powerful brain around which to build what can be a powerful automation system. I’m hoping to use this one to control the track switches on a model train I’m building with my son. The solenoids that shift the track points back and forth are typically controlled by momentary-contact pushbuttons; I’ve got four switches, which means I need to be able to control 8 individual outputs (one for each direction of the switch). That leaves me with six digital pins to use as discrete inputs, but I can use the analog pins as well.

I can easily connect eight momentary contact switches to six digital and two analog input pins. Things get more complicated when I try and connect the output pins to the solenoids: the output pins provide 5vDC; the solenoids want more on the order for 14vDC. I’ll need to create a circuit board that uses either micro-relays or transistors to switch the solenoids on and off.

So why would I do all of this for this train? On the surface, it sounds like I’m adding a bunch of electronics between a switch and a solenoid—couldn’t I just connect them directly to each other?

Sure. I have—that’s how the train operates right now. But here’s where I see how the Arduino can become really powerful: when I build the micro-relay board, I can add circuits that cause LEDs to light up—perhaps red for when the switch is set to run the train to the divergent track, and green for when it’s not. Even cooler: since I’ve got a microprocessor parsing the input data and generating output data, I can use anything to tell the microprocessor when and how to shift the switches. For something like $150, I can purchase a touch-screen overlay for a computer monitor; connect that overlay to the analog inputs on the Arduino, and with some programming changes on the microprocessor, I can touch the screen to tell the microprocessor when to shift the switches. With a different set of programming, I can automate the movement of the train around the tracks: I can time events, and program a clock into the processor to open switches at particular times! And, I can add magnetic reed switches to sense when a locomotive or train car is on the switches and ensure they cannot be switched unless they are clear of traffic.

One of the electrical challenges in the particular train layout I’m building is that it will fold back on itself at either end—there’s one straight track that is the “main line”; at either end, the train will run around a large loop and end up back on the same single piece of straight track—only travelling in the other direction. Without careful electrical isolation, relays, and timing, the train can easily short itself out as it passes out of the loop and back onto the main line. Using the Arduino, I can add some small magnetic reed switches to sense when the locomotive is approaching the loop (or coming out of the loop) and automatically control the electrical polarity to ensure there are no shorts, or to stop the train to ensure that it doesn’t short if polarity can’t be shifted.

Frankly, the more I think about it, using the pulse-width-modulation control on the digital pins, I’m pretty positive I can find a way to control the speed and direction of the train using the Arduino a simple potentiometer (or that touch screen overlay again)!

because the board and the programming environment are open-source, a quick Google search reveals a ridiculous number of add-on boards that expand the possibilities, adding additional outputs and inputs, motor control, TCP/IP connectivity via Ethernet, and others. Suddenly, can set up a website with a webcam to see the train, and then control it remotely using my iPhone while I’m travelling in the airport. Which is, quite frankly, both a little bit awesome and a little bit crazy.

So what does this have to do with scenery technology? Everything! The level of control I’m describing for my train layout is no different than what we might want to do with a piece of scenery: control speed, direction, sense inputs and turn on or off discrete digital outputs (like lights, valves, etc.). Couple this capability with an ethernet card, a motor control chip, a variable-frequency drive and some user-interface devices, and you’ve got yourself a simple motor control. (Obviously, you’d need to include safety features like end-of-travel interlocks and emergency stop systems.)

What makes this really exciting for me is that it’s the easy-access onramp I’ve been looking for to make this level of automation available to my students. I have found it difficult to ensure that students—even graduate students—have the level of electronics and programming background required to fully explore microprocessor control systems. The Arduino platform provides an easy-to-use way to tinker, experiment, and play with the foundation concepts and yet seems to be expandable and powerful enough to be able to be deployed effectively in a production environment. Arduino isn’t the only platform for this, either—it’s just the one I’ve stumbled on first.) I hope to begin introducing Arduino projects into my curriculum in the next year; in the meantime, keep your eyes peeled for the “control Rich’s train” website!

Views: 234

Comment

You need to be a member of TheatreFace to add comments!

Join TheatreFace

Comment by Rich Dionne on January 11, 2012 at 12:28pm

I have! I figured to get started I'd tiptoe into the pool with the less expensive Uno and move on from there. The UNO is also, from what I understand, compatible with many shields, including the ethernet shield. I'm personally looking forward to being at the point that I can start sending serial data over a TCP/IP connection--though doing this in my spare time means that may not happen for a few months...

Comment by Scott Bloom on January 11, 2012 at 5:21am

Nice that Radio Shack is back in the hobby business these days. Have you seen the Arduino Mega? 16 analog inputs. Compatible with all the shields, including the ethernet, which sounds really interesting. I'll have to look into what it would take to control it wirelessly or by Bluetooth....

Subscribe to Stage Directions

Start Your FREE Subscription to Stage Directions Today!

SD covers everything from backstage to box office--performance to production and is filled with practical tips and information you need to stay on top of theatre trends.

Start getting your own copy today!

Theatreface is the networking site for professional, educational and community theatre brought to you by Stage Directions Magazine.

SD Supplier Review

Our April issue had a tremendous list of backdrop and drapery suppliers. Take a moment to review this list of suppliers—and when you contact them please let them know that you learned about them from Stage Directions. Thank you…

Backdrops Fantastic

Charles H. Stewart

Chicago Canvas

Cobalt Studios

Dazian Creative Fabric Environments

Drape Kings

Dreamworld Backdrops by Dazian

Gateway Playhouse

Gerriets Int’l.

Grosh Backdrops and Drapery

InterAmerica Stage

Rose Brand

Sew What?

Tobins Lake Studio

© 2012   Created by Jacob Coakley.

Badges  |  Report an Issue  |  Terms of Service