Wednesday, October 31, 2012

Show Time

Show is open, and I'm running FOH for the duration.  So I've got a bit over a full month of a steady 30+ hour-a-week job.  For a fair but still small contract fee (why we hate long shows, long intermissions, and added matinees...because we don't get paid more for working longer.)

Which means I really have to concentrate on outside paying work in those gaps between performances.

But first priority is finishing off the Morrow Project boxes.  I just picked up some fiberglass.  And I now know where to buy Oomoo in this area (although I want to try a brushable molding compound soon.)  And it turns out the local Orchard Supply Hardware stocks three of the magic chemicals I've been reading about lately on the props blogs or in posts at the RPF:  Bondo Gold, Bondo Spot Putty, and Rustoleum Filler-Primer.

(Speaking of paint, I'm still angry that someone reached in through my kitchen window and quietly stole all of my spray paint, including the fun and useful Krylon "Hammered Finish.")


Monday, October 29, 2012

32 Short Explanations About the Arduino (Not Featuring Glen Gould)

There is this tool called the Arduino.  That is how I think of it; as a tool.  I think of it as no more complicated to learn than a bandsaw.  And like a bandsaw, it is useful for some jobs, not so useful for other ones.

The most important thing I try to put across to the non-technical person is that the Arduino is not particularly technical.  It is designed to be easy to learn.  It is self-contained; getting into Arduino means nothing more than getting an Arduino.  You don't discover half-way in that you need some other part or some specialized tool or you need to learn a whole process the existing user base are so used to they don't even think about any more.

Really.  You open the box it came in (mail order, Makers Fair, Radio Shack, etc.), plug a standard USB cable in one end, download the free (multi-platform) software which installs painlessly with a couple clicks, and up pops a window where you type the code.

 Arduino:












Add USB cable:










Start the software and load the "Blink" example:















Okay...there are two aspects to this that might seem more "hairy" to someone just getting into it.  The first is that you have to attach the things you want to read or control to the Arduino.  And that means you have to learn just a little about voltages and polarity and the difference between a power line and a data line.

The second is that you do have to program.  If you have never programmed before it probably seems daunting.  Really, though, first-year German is tougher.  Programming in a friendly development environment like Arduino is more like using an English-German phrasebook.  There are plenty of example programs already in the installation, and more if you look around and ask questions.  And you can get a lot of projects working just by finding a sample program and changing a couple of lines.  It may look like hell and win no awards for good programming practices but who cares; the point is that it works.

My own experience is that I knew how to solder and once decades ago had written some really simple stuff in Tandy-BASIC.  And I'm not a very fast learner.  But I got my Arduino working and did a pretty complex task with it in under a week.




The thing I want to  make clear about this "tool" thing is the fact of the much-touted Digital Revolution.  You have heard the phrase "Microcomputers are in everything these days."  Well, they are, and the reason is, it is cheap.  And it is good engineering; using a micro is often simpler to develop, maintain, and expand.

Not all of these advantages translate for the hobby user, but the general idea is still there; it is often faster and cheaper to do it in software.

Say you have a project with a couple of blinking LEDs.  You could use the venerable 555 timer to make a blink circuit:

(Image courtesy of Wikimedia Commons).





 That's two resistors, two capacitors, and the 8-pin DIP to solder up. 

And here's the software equivalent:


 (Actually, only a couple of lines are the blink code; the rest is boiler-plate.)














Even for something as simple as this, although an Arduino board is nuclear overkill, it may still be the optimum solution for the project.  Because you can design for cheaper components, more efficiency, smaller footprint, engineering elegance, etc.  But any real-world project includes the constraints of reliability and fabrication time as well.  And for many of us, weighing twenty minutes soldering up a 555 on a perf against twenty bucks for an Arduino clone that already includes on-board 5V/3.3V regulator...

And when you add that changing the rate or the dwell is a matter of typing a new number (instead of going through R/C calculations, soldering new components, adding a trim-pot to the equation, etc.)...

Because once you add a micro to the project, you have automatically multiple input lines (with debouncing), output lines, as well as the ability to sleep for power saving or reset after time passes with no input, and the ability to create complex sequences of activities and directly link them to each other...

Because a 555 circuit can blink.  The equivalent Arduino circuit can blink a Morse Code message that is several pages long.




 At this point there are probably readers who are muttering about BASIC stamps, baby programming, cargo cult engineering, consumerist culture and gross inefficiency.

The heck with them.  I come from theater.  Our only question is "Does it look good from forty feet away, and will it hold up until closing night?" 

But more seriously, avoid the siren song of perfect optimization.  Optimize as far as is necessary and practical.  And stop. 

And, yes, the Arduino is far from the first, or the only, microcomputer of this kind.  The BASIC stamps from Parallax were an early favorite, and the Raspberry Pi is making waves right now.

Why I like the Arduino is that it really is training wheels, and training wheels of a good kind.  The Arduino hardware is built around the ATmel-made AVR microprocessors.  It is a standardized wrapping of that hardware with basic clock crystal, power regulation, programming ports, and I/O headers.  And it is open hardware as well as being open source.

The Arduino IDE, although far from a robust code development environment, is really just a java wrapper for the compiler, with a few macros to simplify parts of the code.  It isn't, unlike some systems, giving you a misleading picture of what is going on "under the hood," limiting your access, or forcing you to work within a unique and/or proprietary framework.  It is teaching you C.  Phrasebook C, perhaps, but C.  And you can, even from within the artist-friendly IDE, easily pass some bog-standard C down to the metal itself.  Heck -- you can poke direct values to the registers if you want to.

And you aren't constrained to live within the original profile, either in hardware or software.  I've used the Arduino IDE to throw software on to not just minimalist ATmega168 boards, but to the ATtiny85 buried within a BlinkM!  In fact, the Arduino IDE interferes so little with the process of getting working code onto an AVR chip, I find myself turning to it as often as I go direct to the avr-gcc toolchain.

The, perhaps sticking points with some, about the common Arduino hardware/software, is that an expensive FTDI chip is soldered on to every board, and a bootloader takes up a chunk of the available program ROM, both "just" so the board will answer easily to a personal computer on the other end of a USB cable.

But you don't have to accept that as a default or as a limitation.  Go via an FTDI cable or AVR-ISP.  Delete the bootloader if it really bothers you.  And use one of the many, many "-duino" variants that are built without the FTDI or USB or voltage regulator or even clock crystal.



Here's a typical Arduino clone (a Freeduino, in fact:





Here's a minimalist Arduino built on Adafruit perma-proto board (includes an 8-channel Darlington; that's the second DIP):




Here's a much messier minimalist Arduino in the process of being assembled with the parts to drive a 7-segment Vacuum Fluorescent Display:



And, yes, you can actually run quite a bit of Arduino code on the ATtiny series of microprocessors from the same manufacturer; here's a target board for ATtiny 13/45/85;

But if that isn't small enough for you, then go surface mount; the Arduino Mini or Nano, or an Arduino-compatible like the Fio or the Ardupilot, or a Teensy or Bumble-B:










Okay, so we have an Arduino.  How do we make it talk?  How does one, practically, connect to the outside world?

It depends on what "outside world" you are talking about. 

There is within the Arduino community a variety of "Shields."  These are add-on boards that stack on top to provide such things as LCD displays, tiny keyboards, sound cards, MIDI jacks, etc.  I mention these because they are extremely easy to use; just, literally, stick it on top.  Most of them are well-supported with code libraries so using them is pretty much plug-and-play.

I don't have any pictures because all my shields are hand-grown.  I'll show some of those in a moment, but I didn't want to scare the reader.

Because for a lot of applications, it can be as easy as sticking wires into the holes.

Here's the guts of my "Square Candies that Look 'Round":



The idea was to have a couple of small (fake) candies sitting on top of a box.  There is a Sharp IR sensor in the front of the box.  When any object (like a passing child) got within about half a meter of the box, the candies would spin around to show the faces I had painted on one side.

There is no soldering involved here.  There are no additional components.  Just the sensor, and the two servo-motors.

To make this thing, I took two miniature servo-motors out of the bag they shipped in, cut holes in the top of a cardboard box, and stuck them in place with hot glue.  Then I took the $12 Sharp IR sensor out of the bag it came in, cut a square hole in the front of the box and tacked it in place with hot glue.

Then I took all the wires and jammed them into some of the holes on the header of that standard Arduino you see there.

Servos have three wires.  Two have to go to power; those went to the clearly marked 5V and Ground holes.  The last is the data line, and it requires PWM.  Don't even worry about that that means; just know that only a few of the I/O lines of the Arduino support PWM natively, so look it up (or look at the silkscreen on the Arduino).

Similar for the sensor; the sense lead had to go to an analog input.

I wrote down which pins I was using.  Plugged in the USB cable and opened the Arduino IDE.  Opened a servo example and changed the pin number to match the pin I'd plugged mine into.

And, yes, there was a little more to the code than that, but getting the I/O to work -- getting a reading from the sensor and getting the servos to turn to the desired position -- was pretty much just opening an example and changing a few numbers around until it looked right.

Added a little black tape to keep the wires from pulling out, and the project was done.




Here's a slightly more complex-looking one:

This is my oft-used MIDI Button.  No internal battery; I usually run it off any USB power supply (a computer or a phone charger).  The jack on the right there can take a standard wall-wart power supply or a battery in a box...anything from about 6 volts to 12 volts DC.  There is a MIDI output jack on the far side, a test button and activity light on the top, and the screw terminal on the back is how I connect remote buttons to it.

Here's a glimpse inside:


All the wires from the project box are connected to short bits of pin strip, which are plugged into the standard Arduino headers in turn.

It isn't neat, but it gets the job done.

(If you look close, you can see there's a loose XBee node on a breakout board floating around inside.  That's using the 3.3 regulated power the Arduino can also supply on the header, and makes the MIDI Button able to receive a signal from my Wireless Staples Easy Button.)

There's a grand total of three discrete components in the whole box.  Each leg of the bi-color LED has a ballast resistor soldered to it, and there's a single resistor on the MIDI port as well.  Other than that, the entire thing...from closing a switch fifty feet away to a standard MIDI note event being output...is managed by sticking bare wires into the slots on the Arduino's headers.

I did mention shields.  Here's a double-decker sitting on top of my Freeduino:


That is another good example of nuclear overkill.  I mostly did it this way because I already had the proto-shield wired up, and I only had about six hours to work.  The proto-shield has standard headers that fit on to the Arduino headers.  It also has a smallish strip-board style space in which to solder parts.

This shield is set up with two parts; a second header for a small RF receiver board, and a ULN2803 Darlington array.  The board drove three sets of high-power LEDs in various patterns under radio control.

This one, at last, has a bit of real soldering in it.  But the electronics layer is still dirt-simple; the Darlington array handles all the buffering itself, meaning all you have to do is attach outputs from the Arduino to the input leads, a power source to the "supply" lead of the Darlington array, and your 60ma loads to the output leads.

Because the whole idea is to leverage something that is simple to hook up and reliable enough to work for "long enough" and get you back to making art.  Or cute little robots for the stage.


Telling the Middle

I've read a bunch of Instructables, and been following avidly the blogs of several builders and wizards -- particularly Shawn Thorssen (who just just got a Make Magazine cover) and Harrison Krix.  And I've noticed again how so many explanations of "how did I make this" talk mostly about the final stages.

For much of the prop-making stuff I've been following, the bulk of the blog entry will be about the mold-making, casting, and painting.  There's good structural reasons for this.  Those are stages where large things are happening that are easy to record.  Those are technical things that lend themselves well to explanation ("Mix equal parts by weight and tap gently to allow the bubbles to rise").  And, also, mold-making in particular is the most un-recoverable stage; if you make a mistake in sculpting you can usually sand and fill, but if you mess up the mold...  Oh, and these are also places -- particularly painting -- where there are long stretches of free time as you wait for paint to dry or molds to outgas.  And you have leisure (and a clean work-table) to take lots of pictures.

I'm being a bit unfair.  Thor does explain in several places how he arrives at the shapes he makes.  And Volpin goes into incredible detail on almost every stage of the build.

But there are still blank areas.  And that is, largely, because talking about the "art" part is so incredibly difficult.  You can talk about what your inspirations were going in.  And you can talk about the technical details when you started to bend metal (or whatever).  But how you got from B to P is that place where, I believe quite strongly, most people who do not do art see nothing but an un-crossable chasm.

It's an old joke, but Ben Edlund tells it well;


Plenty of people have written about this and much better than I can.  The only insight I can claim is that the process isn't as cleanly divided as it might look to the outsider.  It isn't really (as the recent meme goes);

Step One:  Gather materials.
Step Two:  ???
Step Three:  Profit!

Instead it is a continuous iterative, exploratory process that shades smoothly from "I have no idea how to even start this project" to "Now I just have to glue this last piece on and it's done."

At no stage are you entirely free from problem-solving, or having to make artistic choices.

And the flip side is; at no stage are you truly faced with the proverbial blank sheet of paper.

This is important.  This is extremely important.

No matter what the project is, no matter what stage of development or build it is in, there is always a way to move forward.  You may find you are moving in the wrong direction.  You may even progress a long way down this wrong path.  But even if you have to go all the way back to square one, you will still benefit; because now you know one thing that doesn't work.

And if you committed to the first attempt, and you made any progress at all, you've learned about the process, the tools; learned a thousand things that will make the next attempt easier.




A big part, for me, in getting through projects is the ability I have to judge how much I need to know, how much I need to plan, before pushing forward.  I firmly believe you can always get somewhere useful in the end.  The question is how much time, and how much wasted material, you can afford for that particular project.  The tighter the project constraints (time, budget, client requirements, safety issues), the more you need to attempt to project your understanding forward of the place where you are actually building. 

This is not another way of saying "how much to plan."  Deal with the fact that planning is an ongoing process; that late in a project you will have access to knowledge that you simply could not have had before you started.  Instead of thinking of the plan of a project as some sort of total blueprint, which is more or less detailed/accurate depending on "how well you planned," think of it instead as what you see in the headlights while driving at night.  Think of it as the projection from where the project currently is to some point in the project's future. 

But back to that blank sheet of paper.  When you need to progress, do anything that will create movement.  Think of it as operating an evolutionary algorithm.  Put a random line on the piece of paper.  Now you have something concrete that you can say "no, this isn't right."  And after enough random lines, you may hit one that makes you think "Well, maybe if it was slanted a little more..."

Or steal.  Find out how someone else solved the problem, and adapt their ideas.  Enough time and enough reworking and it will become uniquely yours.  Or borrow from nature, who doesn't care so much about copyright.  Or intentionally apply a random process and see if any of the results are something you like.

I talk about the "blank sheet of paper" because it actually isn't.  Manufactured paper, under real lighting, isn't a perfect surface.  There are subtle shades in it.  Very faint shapes already in it.  Look for those shapes and build on them.

In composing, the equivalent is to doodle on the keyboard until you randomly happen on a pleasing sequence of notes.  (And it isn't completely random; it is constrained by the shape of your hand, the instincts for sequential moves and the trained musician's understanding of keys and chord structures.  The same can be said for almost any "doodle" process, whether in sculpture or in writing code.)




This is true at all parts of a project.  At no point it is completely, 100% "art," some sort of divine inspiration being poured directly on to the paper.  There is always a technical element.  There are always constraints.

Which means there is almost always boiler plate.

You don't have to re-invent the core principles of Western Music every time you are just trying to work up a bit of scene change music.  You have a melody?  There are tried and simple routines to assign a chord structure to it.  Want to write a quartet?  There are well-developed rules for voice leading.  You don't have to use them.  But if you have no better idea, you don't have to stare at a blank stave until your eyes bleed; just fill in a typical First Species and move on.

You can always go back.  You can always try something different.  Don't hold out for the one perfect idea.  Don't hold out for the one truly original idea.  Don't hold out for the idea that lights up the room.  Just put something in as a placeholder, and keep moving.

I believe it is an illusion (there is always an artistic component to anything any of us do), but you could go through an entire art project making nothing but what appear to be mechanistic choices -- from Rules of Composition to Principles of Color Theory. 

And, yes, it might end up looking like rote work.  Uncreative, and uninteresting.  There is that risk.  On the gripping hand, however, if you are doing art for a living, you can't always sit on a mountain watching sunsets waiting for *INSPIRATION* to strike.  You still have to make rent.  The show is still opening Friday.  The client still wants his prop by Halloween.

I say again, the idea of some heavenly inspiration is a lie that separates the artist from the non-artist.  The non-artist prevents themselves from doing art because they have been taught to expect inspiration.  The working artist is under no such illusion; they are aware that inspiration looks a lot less like the Hollywood depiction, and a whole lot more like, "Well, we could just coil them up.  I'm not in love with that, and it would be harder to paint, but...well, actually, I can see some other advantages already.  I just gotta run this past Phil but I think we might have a workable idea here..."





Well, that took a turn for the theoretical.

What I wanted to say, is that in the props blogging, and in the electronics blogging, there seems to be a large blank somewhere between "I set out to build a..." and "Next we solder the resistors."

And I'm going to try, the next time I write up a project, to explain some of those steps I always feel (when I read other people's blogs) are getting glossed over.


Friday, October 26, 2012

On a Dilemma of the Horns

I am so very, very tired of having to apologize for late sound, and having to go with compromise cues because there is no more time to tech.  But I haven't figured out yet how not to land in that situation

Monday, October 22, 2012

Flags

"Peaked caps and jodpurs and black uniforms, swastikas armbands and Lugers in hand, totenkopf lightning bolts Art Deco wings; these are a few of my favorite things..."

My browser history is filled with material about the SS right now.  Plus a lot of the early history of W.W.II, particularly the anschluß, and a whole bunch of material on radio procedures in the heer and cryptography and so forth.  I have several pdfs on the hard drive and DropBox space, and -- even more scary -- videos of rallies and marches.  My dollar mp3 player is filled with German marching songs and other martial tunes.  I've been brushing up on my own spoken German, and have even learned to sing a verse or two of the Horst Wessel lied.

I work in musical theater.

All of the above has nothing to do with any National Socialist leanings on my part, but signifies only and exactly that the current production in tech is "The Sound of Music."  And is probably neither the first nor the last time theatrical activities can or have led to what looks like suspicious interests.



There's a great story I was told by a props person once.  They needed a bunch of accurate-looking modern weapons for a production, and a friend of a friend of the director worked for one of the big suppliers for Hollywood.  They would loan the guns needed to the production for a nominal charge, but....they didn't want to drive all the way up to the Bay Area.

So arrangement was made that each would drive half-way.  The meeting was to be in Barstow, a fairly small town in a rather barren stretch of near-desert.  And the convenient spot was outside of a Denny's on the outskirts of town.  And the convenient time was slightly before midnight.  And the guy from the prop house, and my prop master friend, both showed up at this darkened parking lot in the middle of nowhere driving black windowless vans, and as they were transferring lots of shiny (but completely non-functional) rifles and machine guns, the thought went through my friend's head that this would be a really bad time for the local police or sheriff's department to drive by.

I'm actually surprised no techie of the geekier bent (like myself) has gotten grabbed at an airport or somewhere else where bags filled with mysterious bits of wire and electronics and blinking lights raise the red flags for security.  Okay..at least it hasn't happened to anyone I know yet.  There are certainly stories around the Maker community of such things.



 Well, I'm not designing any other shows at this very second, and none of them have elements that are particularly charged.  My last show I was researching chocolate and the manufacture of confectioneries, and the show before that I was interested in pirates, Gilbert and Sullivan, and sleepy little English seaside resort towns.  And Atom Punk and Teddy Boys.  It was a strange production!

On the other hand, my current history is a lot of CBW stuff; readings on strontium 40, weaponized anthrax, the pan-atropine auto-injector, Castle Bravo and the Tsar Bomba...  But then, the friend I'm building this prop for is looking even more like some sort of crazed survivalist in his Morrow Project research.

Theater is a strange duck.  Although in an ordinary life it is easy to walk backwards into what will become a life-long fascination with something completely esoteric, theater is more distinctly imposed.  You may have no particular interest in the birds of Austria or Change Ringing or the Luytens bell or how to blow a boatswain's whistle, but the show of the moment demands you learn enough to allow the audience to suspend their disbelief. 

And maybe a little more...I haven't worked a production "The Wizard of Oz" yet in which we didn't trade a few bits of trivia about The Movie (or about the books, which are truly weird.)


Thursday, October 18, 2012

The (Slow) Morrow Progress

This week has been installing the electronics.



I learned a bit about casting on the first go-around, and as I install I'm learning how well the previous method works.  Which is...good enough.  But I want better.  The next pull, I want to try out a thin-shell casting method demonstrated by one of the amazing modelers at the Replica Props Forum.  What he did was, within a two-piece shell mold (backed up by a carefully squared mother mold), lay tiny scraps of glass fiber and build up a controlled thickness by brushing resin into the mold and the fiberglass reinforcement.

This box would be easier to wire up if I had a thin but strong wall with a controlled thickness.  And even better if I could split it apart, and fix the circuit board inside.  Instead I'm basically dangling a loose circuit board into the cavity, with a whole mess of wires going back and forth.


Here's the speaker, "injector" LED, and so forth being secured with hot-glue and epoxy and Zap-a-gap.  Fortunately, I can pull all the positive leads together (all the control channels I'll be using sink loads).

I would have used the two screw terminals at the bottom as a battery cut-off, but the biggest lumps of my first attempt at a rotocast are down there, and none of my drill bits are long enough to reach through them!



So I had several of the circuits working on breadboard.  It was too messy to keep going with alligator clips, though, so next step is really to solder up the final harness and then work on programming from there.  Nice thing about digital domain; although I might have tested everything off the same I/O pin, one I/O is just like another...none of the circuitry should care when I put them on different pins and then start addressing them individually in software.

I'm not using the milspec Dialights as they were designed.  I don't have the height above or below the panel.  Plus, I don't feel like setting up a 12V source for running incandescents.  So instead they are modified for LEDs.

The high-power LEDs were prepped with the appropriate ballast resistor.

Then I took the adapter coupling (a screw that goes between the lamp base and lamp cap, suspended the LED assembly inside with my third-hand jig, and filled it with hot glue.


I just so happened to have a bottle of Smooth-on Mold Release Spray, and that worked excellently to keep the hot glue from sticking to the tinfoil I was protecting my work table with.

Then the adapter was set into the hole and, because it needs to be secure in order for the light head to rotate, epoxied in place.

Here's the lighting test on the first one.  That trefoil shape is the natural result of the inner shutters of the Dialight panel light.


The VFD is hot-glued in place, and the backs of all the lights hit with a quick touch of black spray paint.  The rotary switch -- unfortunately it is only a single-decker, so I can't actually use it for a power switch -- has a resistor ladder attached to it now, making it basically a potentiometer with click stops.  That will go to an analog port on the Arduino, thus saving me a few I/O pins.

I still have one rotary switch and one LED to go.  Then I'll start collecting positive leads and otherwise tighten up this harness.


And on to version 0.2 of the circuit board.  It isn't a whole version number, because I never breadboarded the entire thing.  In fact, because of all those little dangly wires, I'm not breadboarding the VFD at all.  I know it lights.  Now the trick is going to be if I can get my high voltage supply and switch to work right.

My first "naked" Arduino; this is a pre-programmed ATmega168 chip stuck on a strip board.

Or, actually, an Adafruit "Perma-Proto" board.

This is a wonderful variation of a standard strip-board that exactly mimics a standard solderless breadboard.  If you have done a nice neat breadboard, you can transfer it exactly wire by wire to this thing.  And it is built to the usual Adafruit standards; plated through holes, complete silk screen, solder mask, etc.

Of course I didn't have a neat breadboard.  So I made this cludge instead.  And I also reversed a connection on the ICSP header.  But at least it lights...not just the power light, but the Arduino.

Unfortunately, THIS is the Supertex HV5812.  Big one, eh?  And it isn't going to fit on my little board.

So v. 0.2 is retired from this project.  I'm sure I'll have a use for an Arduino with 8 channels of Power Darlington (the ULN2803 you see on the right) soon enough.

So the only way to get everything to fit into my little box is to turn the circuit board sideways.  Which I did by hacking a chunk of a Radio Shack strip board.

 And it is typical Rat Shack quality.  The copper traces peel, the holes are oversized and unplated, and it is frustratingly difficult to get the solder to flow cleanly on the pads.

Plus of course I don't exactly have double-wide sockets lying around.  So a little more time with the razor saw, creating my own.

So here is v. 0.4 of the CBR controller.  On the top right is 7805-based voltage regulator, with the customary blinkenight to show the power supply is working.  ATMega168 on the top left, with resonator in the middle of the board (the ATtinys I like running from internal oscillator, but for this it is easier to wire it just like an Arduino).  The ICSP is crammed into a corner.  On the bottom right, the socket for the HV5812, and to the right, a RECOM RY-0924S DC-DC converter which is supposed to be able to supply up to 1 amp of 24 volts off of a 9v supply.  I chickened out on building my own boost converter just yet!

So far, nothing is completed but power and basic Arduino.  That LED in the middle there is a temporary addition while I tracked down an issue that was keeping the Arduino from booting.  Since it is an out-of-the-box with bootloader and all, it already has a "blink an LED on pin13" program loaded on it.  Makes it very simple to get to "Hello World."  Also a trifle wasteful, since my Adafruit USB Tiny ISP doesn't require the bootloader!

But, then, an ATMega is overkill for this project anyhow.  The current I/O needs are three LEDs (two of which could be PWM'd for extra realism), one PWM output for tone generation to the speaker (which could be done as readily with a digital pin -- I'm only doing square waves here, not waveform generation!), up to four pins to talk to the Supertex (clock, data, strobe, blanking), one analog pin to read the selector switch, one digital to read the button, and two pins taken up by doing the capacitance sensing (which can be done on a single pin in many of the AT series by using ATmel's own capacitance sensing library -- but that's more work!)

I figure another full work session to finish this board, and maybe a bit more to straighten up the wiring inside the box itself, before I am ready to start programming.  Then, since the whole point of this circuitry was to do full alpha-numerics on the Vacuum Fluorescent Display, I'm going to need a week to create some kind of robust display handler that I can then program with all sorts of activity; self-diagnostic routines, threat analysis, user alerts, etc.


Monday, October 15, 2012

Random Cat is Random

So I'm at a lecture hall where several Makers are giving presentations.  That is to say; these are people who make a living/reputation by being tech savvy, by learning to use the tools of their choice, by being flexible and clever in solving problems.

First a word of background.  There are multiple video standards in the world, and even more peculiar video cable alternatives, especially in the every-changing Mac world.  If there is a common standard protocol, it is component video -- followed by VGA.  Practically every video projector and other conference display system will speak these standards.   Whatever the flavor-of-the-month connector Apple has decided to put on their latest laptop is NOT a common standard.

And you don't have to spend any time at all on the presentation circuit to figure this out.   Well before you have ever learned how to create a nice slide show, you will have realized the importance of bringing the correct adapter to connector YOUR hardware to the standards of the outside world.

Out of some two-dozen people involved in these presentations, exactly one had the foresight to bring his own adapter.  Another had one on him (but I can't say for certain it was foresight).  Which he loaned to the following groups, which didn't always have compatible laptops to that adapter anyways, so they borrowed a laptop from a third presenter and then struggled to transfer their presentations.

Points for clever for the group that used YouTube as an impromptu cloud server, and streamed their own video back off YouTube during their presentation.

I've gotten used to this at the rental hall I do most of my work in now, but I didn't expect to see this sort of not-planning-ahead from Makers.




On the same day, a renter is in with an ambitious music/dance show at my regular hall.  Now, we've had renters before who talk up the sound guy they bring.  And said sound guy then takes one look at our rather modest board and says "Um...the one I usually use is a bit smaller...."

But not this one.  This guy knew boards.  There were a couple peculiarities of our routing that I had to answer questions on, but even then the questions were precise and intelligent and he understood the answer before I could even finish speaking.  And his sound check was wonderful.  I felt so good, having someone who so really, really knew what he was doing -- as well as being so calm and professional and friendly -- using "my" board.  

It was like loaning your skateboard to Tony Hawk.  It was just that nice to see it getting used by someone who could really get the most out of it.  (And that isn't me!)




And maybe there's some insight here about  DIYers versus professionals.  But I don't think so.  Both of these are more like outliers.  As I said...I'm used to seeing Makers being very creative about working around limited resources, and I'm used to seeing renters at our theater be, well, less capable.

If there is a take-home, it is that no matter what you are doing, whether crafting a costume for your own pleasure, or spending thousands of dollars putting on a performance, it is smart to plan ahead.  Anticipate problems.  Try to understand the environment you will be going into.  Expect difficulties and have a Plan B.




Okay; maybe, maybe, the presenters are used to operating in a corporate world where there are always AV people on hand with adapters, internet connections, spare power supplies (also a surprise how many renters I've seen with show-critical software on their laptop and nothing but the battery in it to get it to show time.  And no back-up copy or even a measly thumb drive to get the data out in case of a problem).

Except I don't quite believe it is ever that smooth.  Even if you assume financial levels where everyone automatically has whatever Apple is selling this very month, therefor all the hardware and software are automatically compatible with everyone else's -- well, that isn't the environment they just walked into.  They knew it was a school.  They knew it was a budget situation.

Me, I'd bring my own projector.  Even if the building had promised one, I'd have my own tested system.  Because accidents happen.  If it is mission-critical, a back-up is cheaper than refunded tickets.

Oh, and just to confuse whatever attempted parallel might be here -- the board op was a Maker.  In fact, he'd run sound at Burning Man.  And, boy, is that a bunch of budget improvisation...!




In other random news, I'm heading into tech but I'm already over the show.  Several of the design team are already over the show.  It will be decent, but we're basically ready to stop having brilliant ideas that change everything (and cause the throwing away of tens of hours of completed work) and just go ahead and nail it down and ship it out.




I also glued most of the parts inside the CBR kit and did a test fit.  The existing circuit board actually fits.  Unfortunately that's a naked Arduino board without space for the proper high-voltage drivers.  So I'm probably going to set that board aside and solder up something completely new.

And unfortunately -- I am far from immune to failures of foresight! -- I didn't think to order something like an ATtiny2313.  Which means there isn't room on a single perma-proto for the Supertex high-voltage shift register and any CPU I currently have in stock (and, once again, this isn't something you can buy at Radio Shack).

So I either need a bigger boat...err, circuit board...or two circuit boards, or wait another week and order more components.  None of those options are attractive.