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

// Pin waar de sensoren aan verbonden zijn
#define ONE_WIRE_BUS 14

// Set up 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);

// Sensor adressen
uint8_t sensor1[8] = { 0x10, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x3B };
uint8_t sensor2[8] = { 0x10, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x9B };
uint8_t sensor3[8] = { 0x10, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x5B };
// Variabelen om de temperatuurwaarden op te slaan
float temp1, temp2, temp3;

void setup() {
  // Start communicatie met seriële monitor
  Serial.begin(9600);
  
  // Start de DS18B20 bibliotheek
  sensors.begin();
}

void loop() {
  // Vraag de sensoren om de temperatuur te meten
  sensors.requestTemperatures();

  // Lees de temperatuur van elke sensor
  temp1 = sensors.getTempC(sensor1);
  temp2 = sensors.getTempC(sensor2);
  temp3 = sensors.getTempC(sensor3);

  // Print de temperatuurwaarden naar de seriële monitor
  Serial.print("Sensor 1: ");
  Serial.print(temp1);
  Serial.println(" °C");

  Serial.print("Sensor 2: ");
  Serial.print(temp2);
  Serial.println(" °C");

  Serial.print("Sensor 3: ");
  Serial.print(temp3);
  Serial.println(" °C");

  // Wacht een seconde voor de volgende meting
  delay(1000);
}