Arduino code:
//
// FILE: DS18B20_two_sensors.ino
// AUTHOR: Rob Tillaart
// VERSION: 0.0.1
// PURPOSE: demo with two sensors (on two pins)
//
// HISTORY:
// 0.0.1 = 2017-07-25 initial version
#include <OneWire.h>
#include <DS18B20.h>
// numbers chosen to match pin numbers..
#define ONE_WIRE_BUS2 2
#define ONE_WIRE_BUS3 3
#define ONE_WIRE_BUS4 4
OneWire oneWire2(ONE_WIRE_BUS2);
OneWire oneWire3(ONE_WIRE_BUS3);
OneWire oneWire4(ONE_WIRE_BUS4);
DS18B20 sen1(&oneWire2);
DS18B20 sen2(&oneWire3);
DS18B20 sen3(&oneWire4);
void setup(void)
{
Serial.begin(9600);
Serial.println(__FILE__);
Serial.print("DS18B20 Library version: ");
Serial.println(DS18B20_LIB_VERSION);
sen1.begin();
sen2.begin();
sen3.begin();
// different resolution shows nicely the async behavior
sen1.setResolution(11);
sen2.setResolution(11);
sen3.setResolution(11);
sen1.requestTemperatures();
sen2.requestTemperatures();
sen3.requestTemperatures();
}
void loop(void)
{
// print the temperature when available and request a new reading
if (sen1.isConversionComplete())
{
//Serial.print(" , ");
Serial.print("sen1");
Serial.print(",");
Serial.println(sen1.getTempC(),1);//
//Serial.print(",");
sen1.requestTemperatures();
delay(500);
}
if (sen2.isConversionComplete())
{
//Serial.print(",");
Serial.print("sen2");
Serial.print(",");
Serial.println(sen2.getTempC(),1);
sen2.requestTemperatures();
//Serial.print(" , ");
delay(500);
}
if (sen3.isConversionComplete())
{
//Serial.print(" , ");
Serial.print("sen3");
Serial.print(",");
Serial.println(sen3.getTempC(),1);
//Serial.print(" , ");
sen3.requestTemperatures();
delay(500);
}
delay(1000);
}