7

I have a RasPi model B rev. 2.0 and two DS18B20 1-wire temperature sensors and they are working individually fine. I know I should be able to connect multiple 1-wire sensors in parallel but I can't detect any sensors when connecting more than one at the same time (to the same GPIO pin). Individually I can detect each sensor.

This is one of the sensors and the only one connected: Sensor 1 works OK

This is the other and the only one connected: Sensor 2 works OK

When I connect both in parallel it shows nothing under /sys/bus/w1/devices/: Does not work

I have connected my sensors to pin 7 (GPIO 7) which is the dedicated 1-wire pin.

As they work individually, I am pretty sure I am connecting it correctly:

  • Red to 3.3V
  • Yellow to GND
  • Black to GPIO 7

And when having multiple sensors I am just connecting both reds, both yellows and both blacks in to a terminal strip.

Is this my sensors being faulty or am I doing something wrong?

UPDATE #1, 2014-Dec-18, 22:42

I am using the built-in pull-up resistor in my Python programming and it has been suggested by @joan that I should try with a real 4.7K Ohm resistor instead as the built-in may be too weak to support multiple sensors.

  • Take a look at this learn.adafruit.com/… there is a section near the end on using multiple sensors and accessing them with the specific serial number. It will also answer your wiring question. – Steve Robillard Dec 18 '14 at 21:27
  • Where have you connected the pull-up resistor? – joan Dec 18 '14 at 21:28
  • @joan - in my software as I am using the built-in pull-up resistor – DHS Dec 18 '14 at 21:31
  • @SteveRobillard - what do you mean I have done wrong? I can't see it – DHS Dec 18 '14 at 21:32
  • 1
    @DHS The internal pull-up is probably too weak (it's approximately 50 K) for more than one sensor. It should be about 4K7 (lower resistances allow more current and are called stronger when used as pull-ups/downs). – joan Dec 18 '14 at 21:38
2

On the DS18B20's that I've used, the yellow wire goes to the GPIO pin and black connects to the ground pin. Also, as Joan suggests, use a 4k7 resistor between 3V3 and the GPIO pin. (Only one resistor, regardless of the number of DS18B20's.)

See https://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing for more info.

  • I think this could be an answer, so I rather than converting to a comment, I edited "This should be a comment" out. I notice the OP has not been back, which may mean the problem was solved w/ the resistor. – goldilocks May 10 '15 at 15:10
  • Currently I have given up on this but I will revisit this one day and check if this is the solution – DHS May 11 '15 at 12:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.