1wire DS18B20 stop working if more than 4 sensors

I am new to arduino, I want to use 5 DS18B20 on the same bus.
Fist of all I test one sensors, then 2, 3, 4 températures are read perfectly.
As soon as i plug a 5th sensor all goes bad. No more reading any more.

I have tested all sensors individually, all OK.

I have tested the two way connection I.e. Normal (Vcc, GND, Data) and also the so call parasite (2 Ground, data to Vcc via 4.7 K and to pin 2 of arduino.

Both way goes wrong when 5 th sensor is added.

Here unde is the code I am using.

Thank you very much for help.

yoyodutheil

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin 2 on the Arduino

#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)

OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.

DallasTemperature sensors(&oneWire);

void setup(void)

{

// start serial port

Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");

// Start up the library
sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement

}

void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print("Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures

Serial.println("DONE");

for (int i=0;i<5;i++) {
Serial.print("Temperature for Device: ");
Serial.print(i);
Serial.print(" is: ");
Serial.print(sensors.getTempCByIndex(i)); // Why "byIndex"? You can have more than one IC on the same bus. 0 refers to the first IC on the wire

Serial.println();

}
Serial.println();
Serial.println();
Serial.println();
delay (5000);
}