Monday, September 3, 2012

Machine 00: Frankenphaser

Inspiration

At the beginning 2012 I started messing pointlessly but with more vigor than I had the year before in the world of ASICs and Arduino. They're cool, cheap and talk to the world in which we live. Obviously, art works like Machine 06 are more my scale and speed, but I thought a few simple things first would be fun. They allow one to build one's confidence and get the brain back into hardware troubleshooting.

I read an interesting little instructible type thing from the good folks over at the PublicLaboratory.org for a thermal flashlight. The idea being a device that you shine on an object which simultaneously measures the surface temperature in its field of view. The device constantly adjusts the colour based on temperature. 

The short version is this, point it at something cold it shines blue, at something hot you get red. As far as application, there are a lot of poorly insulated houses in Tassie. Erin and my place is no different. I loved the idea of sweeping something over a wall in a darkened room and getting an idea of where the insulation isn't!

The diagram and code was as simple as it gets and a visit to LittleBird & Jaycar sorted me out with bits I didn't already have for $40 or so. The heat sensor making up three quarters of that bill.


Now, I did something different on the LED front than the Public Lab lass by using WS2801 rather than pulse width modulation of the LED as shown above. I've modded code to suit, sing out dear reader and I'll throw the code online should you need it. 

How Well Did it Work?

Um not very effective but still awesome. 

As it was originally coded, the device needs to know the range of temperatures to expect in advance. My RGB LED was too weak and this version had not enough lasers. Anywho, I finished breadboarding it and wrote something up to do auto ranging back in January, which I'll explain later. My plan was to build it into a cool case add a laser site and use it in both household and automotive tuning applications. 

The Plan? Bigger... More...

Having bowled over the main challenge it languished in a draw while I focused on other projects. Until last weekend when the sun came out and I set up in the back yard with a drink, some stuff and some time. I'd like to finish this during September. There will be more posts to follow and I'll upload the finished code when it is a little less alpha.

The Specification

  • Fits in the Light Phaser Case, so using an Arduino Leo
  • Add a laser and add high current switching for it
    An exercise in good practice rather than need
  • Fit a Bluetooth shield so I can make a temperature readout as a separate display
    More on this later too :)
  • Enbrighten the colour shone with bigger and more LEDs.
    As bright as possible without melting the plastic.
  • Add switches for power and ranging modes
  • Add logic to turn the laser on and off based on trigger conditions
  • Open source the code


Initial Build (part 1 of 2)

Gutted Light Phaser: I had to drill out the screws ,25 years of habit was unbreakable an other way. First small win though, the original sensor board is as close as makes no nervermind to the Arduino Leo. That is the proto shield sitting on top.

Another Win: A bracket and centre hole was already provided for the sensor. By drilling it out I could mount the laser nice and squarely. Some hot glue and bam!

The Heat Sensor: It is pushed up hard against the lens housing. I added a little bit of pressure while it dried to get a goodish match for the laser direction. Precision is not too critical. Of note if you follow me in a similar build, the sensor is a bit painful. Solder the wires to the Melexis first, add hot glue to separate the pins, let it cool then glue it in place as a wired unit.


Wired Unit: As installed the sensor does not interrupt the beam path.

A fully wired unit: I had drilled two holes in the bulkhead to take the wires for sensor and LEDs.  I've left them long for integration testing.

Taxi!!!! Beer was then spilled everywhere! Ruining one breadboard.

Zippy? The original microswitch trigger was not, as I had suspected, a momentary action. This simplifies the code when the time comes. 

Lastly I drilled some holes for the switches at the back of the device. Here I made a small mistake but I'll be able to land it and look like I meant it. More on this in part two.

Whatho, Mack