Related to the simple demos I just posted for interfacing the Harbor Freight IR thermometers to the Prop (http://forums.parallax.com/showthread.php?p=907553
), I decided to modify the ZyTemp demo to create a thermal image by manually scanning an image to a VGA display.
Basically, you press and hold the Scan button and begin moving the thermometer horizontally at a steady pace. A white square corresponding to the current pixel is drawn to show you where in the image you're at. After scanning a line of the image, you let go of the button, then press and hold again to begin scanning the next line. Do this until the entire image is scanned (maximum of 64 horizontal pixels by 48 vertical pixels). To finish, you single-click the Scan button. Then the image is drawn to the screen, auto-scaling the image size and colors corresponding to the temperatures in the image. A scale is drawn on the side to show the colors for relative temperatures. The serial port is also used to output debug messages, such as each temperature read, and at the end of the image, min/max temp and image size/scale.
The image quality depends mostly on how steady the image is scanned, as well as distance to spot ratio of the thermometer and the distance to the object being scanned. Mounting the thermometer on an XY track controlled by the Propeller would probably create the best image. If you want software control of the Scan button, you can pull the Action pin down on the Propeller.
I was really looking for a cheap way to do real thermal imaging, but it seems the several thousand dollar cameras are the only way to do real imaging... but I thought this was kinda cool anyway. I was somewhat inspired by Phil Pilgrim's imager using the Nipkow disk: http://forums.parallax.com/showthread.php?p=753166
, though of course using a different imaging method.
Anyway, I ran a test with it... I had 4 cups of water on a desk, one hot, one cold, one slightly cold, and one room temperature (with the desk being room temperature of course). I scanned across the area by hand (about 6" above the cups), trying to be steady, though not really succeeding [noparse];)[/noparse] . But you can see from the images attached that it does work. The upper left is hot, upper right is cold, lower left is slightly colder than room temp, and the lower right is basically invisible, since it's room temperature. That image is a picture taken of the output on a VGA monitor. I used the TN203 thermometer since it had a D:S of 6:1, and a laser pointer to help guide me.
This used code from the ZyTemp demo with Ariba's VGA 128x96 bitmap demo. They're attached to this post, and I'll post this and the other demos to the obex tomorrow.
Post Edited (DogP) : 5/19/2010 4:56:59 AM GMT