|
So cool you can even measure it!This incredibly simple thermometer plugs on any free serial port. Does not make use of any programmable components as microcontrollers. It gives temperature readings accurate to 0.5°C with no calibration. It's cheap, so I've put one on any PC I use. And it is so nice to have the temperature shown on the Windows taskbar, that a million friends asked me to build one! Build yourself an accurate thermometer Since I
have no time to build a million pcTHERMs, I give you the plans and the
software to build one on your own.
Circuit diagramParts list2 x 1N4148 diodes How it worksThe circuit is derived from the Claudio Lanconelli's PONYPROG programmer (I recommend you to visit the Claudio Homepage at http://www.cs.unibo.it/~lanconel ). The key component is the Dallas Semiconductor's DS1621 temperature sensor. This tiny 8 pin IC needs only +5 volts to measure the temperature and to send it out via its IIC bus output. Since many IIC bus devices can be connected in parallel, three address inputs (A0, A1, A2) are provided to select one out 8 addresses the device will respond on. This way, up to 8 sensors can be connected in parallel. I have set the internal temperature sensor to address 0 and the external one to address 1. If you plan to use only one sensor connect it as address 0. Interfacing
the IIC bus to the RS232 com port is a matter of adapting levels.
IIC works on 0..5V signals, RS232 uses -12V .. +12V. The trick here
is that, altough specified for -12V..+12V, almost all PC com port I
know work equally well with 0..5V signals. This eliminates the need
to raise the IIC output to RS232 levels, and the SDA data line connects
directly to the PC CTS line. On the opposite way, the RS232 signals
can damage the IIC inputs, so I placed voltage limiters (R1,
DZ2, R2, DZ1) on the SCL clock input and SDA data input. (note
that SDA is bidirectional: receives from the DTR line and transmits
to the CTS line). the pcTherm window expanded The software I wrote
the software in Visual Basic 5 (Yes, no assembler or C++ this time!).
I've done it the straight way, with no optimizations that would make
it less readable. Even with this limitations, the IIC runs at a respectable
1,5 kHz even on a slow P90 in interpreted mode. The very first time
you run the program, you will be warned that the setup file does not
exists (it will be automatically created at the end of the session)
and defaults will be used. When you start the program, it runs minimized
on the taskbar, providing a "temperature icon". This is my
preferred way to use it, just like the "clock" icon provided
with Windows. Files available:
|
|