#include <OneWire.h>
#include <DallasTemperature.h>
const byte one_wire_busses = 6;
const byte one_wire_pins[one_wire_busses] = {2,3,4,5,6,7};
const byte one_wire_sensors[one_wire_busses] = {2, 2};
const byte led_pin[one_wire_busses] = {8,9,10,11,12,13};
OneWire busses[one_wire_busses];
DallasTemperature sensors[6];
DeviceAddress addresses[one_wire_busses][2];
void setup(void)
{
byte bus;
byte sensor;
byte i;
for(i=0; i<6;i++){
pinMode(led_pin[i], OUTPUT);
};
Serial.begin(9600);
Serial.println("Setup...");
for(bus = 0; bus < one_wire_busses; bus++){
busses[bus].begin(one_wire_pins[bus]);
sensors[bus].setOneWire(&(busses[bus]));
sensors[bus].begin();
sensors[bus].setResolution(10);
sensors[bus].setWaitForConversion(false);
for(sensor = 0; sensor < one_wire_sensors[bus] && sensor < sensors[bus].getDeviceCount(); sensor++){
sensors[bus].getAddress(addresses[bus] [sensor], sensor);
Serial.print(" Device"); Serial.print(sensor); Serial.print(" Address: ");
for( i=0; i<8; i++){
Serial.print(addresses[bus] [sensor] [i], HEX); Serial.print(" ");
};
Serial.println("");
}
};
Serial.println("... finished.");
}
void loop(void){
byte bus;
byte sensor;
for (bus = 0; bus < one_wire_busses; bus++){
Serial.print("Bus "); Serial.print(bus); Serial.print(" ");
sensors[bus].requestTemperatures();
digitalWrite(led_pin[bus], HIGH);
delay(250);
for(sensor = 0; sensor < sensors[bus].getDeviceCount(); sensor++){
Serial.print(sensors[bus].getTempCByIndex(sensor)); Serial.print("°C ");
};
delay(750);
digitalWrite(led_pin[bus], LOW);
};
Serial.println("");
}