Files
SyncHome/trunk/Arduino/libraries/DallasTemperature/examples/Multibus_simple/Multibus_simple.ino

44 lines
1.3 KiB
Arduino
Raw Normal View History

2023-03-17 11:59:21 +00:00
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire ds18x20[] = { 3, 7 };
2026-03-20 17:18:15 +00:00
const int oneWireCount = sizeof(ds18x20) / sizeof(OneWire);
2023-03-17 11:59:21 +00:00
DallasTemperature sensor[oneWireCount];
void setup(void) {
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature Multiple Bus Control Library Simple Demo");
Serial.print("============Ready with ");
Serial.print(oneWireCount);
Serial.println(" Sensors================");
2026-03-20 17:18:15 +00:00
2023-03-17 11:59:21 +00:00
// Start up the library on all defined bus-wires
DeviceAddress deviceAddress;
2026-03-20 17:18:15 +00:00
for (int i = 0; i < oneWireCount; i++) {
2023-03-17 11:59:21 +00:00
sensor[i].setOneWire(&ds18x20[i]);
sensor[i].begin();
if (sensor[i].getAddress(deviceAddress, 0)) sensor[i].setResolution(deviceAddress, 12);
}
}
void loop(void) {
2026-03-20 17:18:15 +00:00
// call sensors.requestTemperatures() to issue a global temperature
2023-03-17 11:59:21 +00:00
// request to all devices on the bus
Serial.print("Requesting temperatures...");
for (int i = 0; i < oneWireCount; i++) {
sensor[i].requestTemperatures();
}
Serial.println("DONE");
2026-03-20 17:18:15 +00:00
2023-03-17 11:59:21 +00:00
delay(1000);
for (int i = 0; i < oneWireCount; i++) {
float temperature = sensor[i].getTempCByIndex(0);
Serial.print("Temperature for the sensor ");
Serial.print(i);
Serial.print(" is ");
Serial.println(temperature);
}
Serial.println();
2026-03-20 17:18:15 +00:00
}