Multiple thermometers for my computer

R

Rick Measham

Guest
I want to connect multiple DS1820 thermometers to my PC (using linux) ..
the software side wont be too hard, however I'm looking for advice on
the hardware side.

Does anyone know of an existing doc detailing using multiple chips? Or
does anyone know the DS1820 enough to tell me how to do this? I'm
looking to go anywhere from 1 to 10, and would love to be able to just
add new ones without having to change basic circutry ..

I can build it, I just don't know enough to be able to design it!

Cheers!
Rick Measham
 
"Rick Measham" <maildump@isite.net.au> wrote in message
news:dchh82$43p$1@nnrp.waia.asn.au...
I want to connect multiple DS1820 thermometers to my PC (using linux) ..
the software side wont be too hard, however I'm looking for advice on
the hardware side.

Does anyone know of an existing doc detailing using multiple chips? Or
does anyone know the DS1820 enough to tell me how to do this? I'm
looking to go anywhere from 1 to 10, and would love to be able to just
add new ones without having to change basic circutry ..

I can build it, I just don't know enough to be able to design it!

Cheers!
Rick Measham
Each sensor has its own serial number. You can have many on the same bus.
But if you are not sure how to wire it, I would suggest the newer DS18B20
connected to a picaxe 18X which can then convert each sensor reading into a
serial string. Forgetting about the serial number, you can connect 8 temp
sensors to each picaxe chip. There are some excellent notes for the beginner
at www.picaxe.com
 
Rick Measham wrote:
I want to connect multiple DS1820 thermometers to my PC (using linux) ..
the software side wont be too hard, however I'm looking for advice on
the hardware side.
Have I got a deal for you! I've just created the ruby-onewire project
at rubyforge.org, as project "onewire". The checked-in code wraps the
Dallas/Maxim one-wire public domain API, providing a simple interface
to the very nice Ruby scripting language. (apt-get install ruby1.8).

The API has two classes: Port which represents a port to a physical
onewire network, and Device, representing an IButton. First thing you
do is open a Port: port = Port.new("/dev/ttyS0")
then enumerate the devices on it:
port.enumerate.each { |device|
puts device.serial
}

The Dallas API takes care of addressing individual devices on the
onewire bus. This works by resetting the bus, then disabling all
devices except the one(s) we want to talk to. The disable instruction
is a bit-string from 1-64 bits long, which is how enumeration works,
as it disables any devices whose ID starts with that string.

I haven't added thermometer support yet. If you can't see how to do
it, I'll be very surprised. And I'll do it for you - you just have
to tell me what works because I don't have any DS1820's. I'm working
with memory and RTC buttons.

Clifford Heath. cjh at polyplex dot org.
 

Welcome to EDABoard.com

Sponsor

Back
Top