Sunday, October 27, 2013

EL Wire Animation

EL Wire Animation

Here is a video of an animation I did using electro-luminescent (EL) wire. For those of you who aren't familiar with EL technology, it uses a coating that phosphoresces, when excited by a high voltage, low amperage alternating current. It can be used like "neon" tubing, but is flexible, and does not get hot. It comes in an assortment of colors, and is relatively easy to work with.

The video shows the animation just after it is turned on. It starts out "asleep" with the eyes closed. After a few seconds it "wakes up". The eyes open, tentatively at first, and blink occasionally, at random intervals. The device has a proximity sensor that can tell if someone is close to it. After a few minutes, if no one is standing close, it "goes to sleep", with the eyelids becoming progressively heavier, and finally closing. If someone approaches it again "wakes up". If, after it has gone to sleep, no one approaches for several minutes, it turns the electronics off completely. Thank you Ayako for being the model for these eyes.


EL material is actually readily available in three form factors, wire, ribbon, and sheet. You may have seen the sheet material built into night lights. These have a panel, a couple of inches square, that glows, usually blue or green, when plugged into an outlet. As I said above, in order to make it glow, the material must be energized with alternating current, usually in the range of 100-150V and a frequency of a couple of thousand hertz. Producing this is a little more complicated than just slapping a 9V battery into a circuit like one might do in a conventional microcontroller project. Luckily, inverters that handle the conversion from battery or mains power are are readily and inexpensively available.

An animation like this requires an additional piece, however. This is commonly referred to as an EL Sequencer.  (see photo below)

 I used one I bought from Sparkfun.This one has an arduino compatible microcontroller that can control eight independent pieces of EL wire, seven of which I used for this device. The circuit for switching the EL wire could certainly be home-built, but since it involves switching high voltage AC current, the design is somewhat more complicated than the typical circuits that I build. I bought the wire from Light 'N Wire Productions.

Potential Improvements

I had originally planned to use a sound sensor (piezo microphone) rather than a proximity sensor so the animation would wake up when it heard something rather than when it "saw" something. I couldn't get it to work dependably though. The problem was that the frequency of the inverter is 1000-2000hz, and this is in the human audible range, the same range I wanted to sense with the microphone. At the time I built this project I knew next to nothing about filters and couldn't make one that would filter out the hum from the inverter but still leave the microphone sensitive enough to work. I still don't know much about filters but I might take another swipe at converting it to audio sensibility. It just seems that it fits with the metaphor better.

Saturday, October 5, 2013

Sous Vide Cooker

Sous Vide Cooker

I built a sous vide cooker. For those of you unfamiliar with the process, sous vide means under vacuum and refers to the fact that before being cooked the food is vacuum packed. This is typically done with a device like a Seal-a-Meal or Foodsaver. The food is then cooked in a water bath to a precise temperature. This method of cooking has some advantages. It can prepare food to the same degree of "doneness" throughout. So, for instance, if you like your beef medium-rare you can cook a roast so that the whole piece is medium-rare, from the outside to the middle, from the thick end to the thin end. Also, you're able to control the temperature precisely so it will be medium-rare, or whatever you like, every time. Further, the food can be prepared in advance, then held for hours with no chance of over cooking.

As you can imagine, however, one must be careful with this type of cooking so that the bacteria in the food are killed. For that reason precise temperature control is essential. To achieve this a PID (proportional-integral-derivative) controller is used. This is essentially a very clever thermostat. Rather than taking into consideration only the current temperature versus the set temperature as a conventional thermostat does, a PID controller manages how quickly the device responds to an under or over temperature condition, the undershoot or overshoot of the temperature, and the temperature oscillation.

There was an article in Make Magazine Volume 25 by Scott Heimendinger that laid out in detail the design and construction of a homemade sous vide cooker. I showed it to my brother John who is something of a boffin in the area of food preparation. He had bought a sous vide sometime back and was familiar with their operation. We looked over the article and he commented that it seemed like it would make sense to build one from a cooler to better stabilize the temperature and to reduce energy consumption. So that's what I did.

Below is a picture of my creation showing a project box fastened to the top of the cooler. It contains the PID Controller, the control panel of which can be seen, a solid state relay and heat sink for switching on and off the heating elements, and various electrical connections.

With the top open it is clear how much I borrowed from Scott Heimendinger's design.

The viewer can see the three heating elements, and the black box is a submersible pump to circulate the water during cooking. Between the heaters and the pump the thermocouple that measures the temperature of the water is visible.


Potential Improvements

While I'm very happy with my cooker's performance there are a couple of things I would change in version 2.0. I have read that these heating elements are extremely sensitive to being powered when not immersed in water, and can burn out almost instantly. Thus I would put an interlock switch such that power would be disconnected if the top is opened. I might also replace the coffee cup type heaters with a heating element from a small hot water heater. I would mount this through a hole below the water line. This, of course, presents the problem of making the penetration leak-proof. This would be complicated by the fact that plastic coolers have double walls, both of which are flexible.

I might also use a slightly larger cooler. The size hasn't been an issue but cooking for a very large party might be problematic.

Friday, October 4, 2013

Wire Sculpture

My running shoes and I spend so much time together I thought I'd do a little homage to them and New Balance.

Arduino Swim Lap Counter

I like to swim laps in my pool.... That might be a bit of a misstatement. I like to get the exercise that comes with swimming laps in my pool. The truth be told, however, swimming back and forth a hundred times is pretty boring. What made it worse was that I was keeping count of the laps in my head and if my mind would wander I would lose count.

In order that I could use the time more productively by thinking about my next project, or trying to figure out why my last project didn't work, I decided to build an electronic lap counter.

It keeps track of the number of laps, the time on the current lap, time on the previous lap, and total elapsed time.

A Little More Detail

The project is based on the Arduino microcontroller. I built the digits using LED Light Bars that I got from Sparkfun Electronics. I'm near-sighted so I wanted them big enough so that I could read them without my glasses. As noted above the timer keeps track of laps, current lap time, previous lap time, and total time, but I can control which of those values is displayed via the toggle switches that can be seen on the left side of the device in the picture above. It cycles through whichever values are selected for display by the toggle switches, showing each for about two seconds.

The trigger switch is build from a piece of aluminum bar, bent at a 90 degree angle, and then covered with closed-cell foam. I wanted to be able to activate it by either pushing horizontally on the part that sticks down into the pool or vertically by pushing down from the top. The switch triggers an interrupt on the Arduino so it is very dependable.

I experimented with RFID tags as triggers. I thought it would be good if my wife and I could both use it and it would know who was swimming and thus, maybe, keep track of workouts over time for both of us -- that sort of thing. The inexpensive RFID tags only have a range of a few inches, however, and so the touch-point needed to be so precise it just didn't seem practical. Thus, for now, it doesn't keep track of any information from workout to workout.

At the end of the day, however, I consider the project a complete success. While I would never confuse swimming laps with having fun, when I'm doing it I am using my mind for something more productive than counting.

Thursday, October 3, 2013

Air Engine

I've always been fascinated by external combustion engines. I guess it's an outgrowth of my love for trains and the fact that as a very young child I saw some of the last of the steam locomotives in scheduled service in the US.

I was inspired to build an air engine, that is, one that is driven by an air pressure difference, by Matthias Wandel. For those of you not familiar with his work I heartily encourage you to look into his YouTube channel or his website His projects are great and the quality of his videos is very high. Matthias sells plans for an air engine, although I did not use them but made up my own design.

Here is a quick video of it in operation.

Some Details

The engine will run from either a source of vacuum or pressure. The video shows it running on my shop vacuum. Except for the screws in the bearing caps of the crankshaft it is made completely of wood. It is a "dual-action" design. That is, the piston is alternately driven from above, then below, as opposed to an internal combustion engine, for instance, where the piston is only driven from above.

The cylinder has two ports, one near each end. Then there is a valve mechanism that switches the vacuum or pressure between the two ports, coordinated with the movement of the piston.

One more thing. I would encourage the interested reader to look on the Jay Leno's Garage YouTube channel for the "1832 Steam Engine" video. This is a stationary steam engine that was used to power a factory that Jay has restored to working order. If you've never seen one of these large steam engines running you will be surprised at how quiet and, dare I say, beautiful they are in operation.

Arduino Drawing Bot

 Drawing Bot

I built a drawing robot. Here is a rough little video of it in action.


The design, shown below, is certainly not original with me but I had all the parts laying around and I thought it would produce a nice profile picture.

The stepper motors wind and unwind the thread in order to position the Sharpie. Not shown in the above drawing is a solenoid mechanism that raises and lowers the Sharpie so that as it moves along it can either draw or not.

More Detail

I wrote a quick program in Processing on my pc that captures a photo and then rescales it and converts it to binary, that is, no color or gray-scale, just black or white pixels. The program then creates a file that is essentially just a list of every pixel in the picture with a "1" if the pixel is black or "0" if the pixel is white. My plan was to transmit the 1s and 0s to an Arduino over the serial connection but the current version of Processing doesn't support Serial on 64-bit Windows. So, I just copied the file to an SD card, and sneaker-netted it to an Arduino Uno with an SD shield on top.

The program on the Uno just moves back and forth across the drawing area, raster style, reading the file and putting the Sharpie down if the next point is a "1" or up if the next point is a "0". The program uses the Pythagorean theorem to to calculate how long the threads should be at each point, and based on how long they were for the last point it either winds or unwinds thread from the shafts of the two stepper motors.

What I would do next

The Drawing Bot is slow. Depending on the resolution of the picture it can take hours to complete a drawing. The Arduino program could certainly be made more efficient. For instance, right now it just draws from left to right, then returns to the left end of the next line down. If it drew in both directions it would probably be 30% faster. It could also be made to skip more directly over areas where nothing is to be drawn.

Further, I built it to draw using 8 1/2" x 11" paper. If desired, though, without any changes in the design (just longer thread) it could easily draw pictures ten times as large. Of course without improving the efficiency of the program you'd be a lot older by the time it got done.