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

// กำหนดขาเชื่อมต่อสำหรับเซ็นเซอร์แต่ละตัว
#define ONE_WIRE_BUS1 2  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 1
#define ONE_WIRE_BUS2 3  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 2
#define ONE_WIRE_BUS3 4  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 3
#define ONE_WIRE_BUS4 5  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 4
#define ONE_WIRE_BUS5 6  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 5
#define ONE_WIRE_BUS6 7  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 6
#define ONE_WIRE_BUS7 8  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 7
#define ONE_WIRE_BUS8 9  // ขาเชื่อมต่อเซ็นเซอร์ตัวที่ 8

// สร้างอินสแตนซ์ OneWire และ DallasTemperature สำหรับแต่ละขา
OneWire oneWire1(ONE_WIRE_BUS1);
OneWire oneWire2(ONE_WIRE_BUS2);
OneWire oneWire3(ONE_WIRE_BUS3);
OneWire oneWire4(ONE_WIRE_BUS4);
OneWire oneWire5(ONE_WIRE_BUS5);
OneWire oneWire6(ONE_WIRE_BUS6);
OneWire oneWire7(ONE_WIRE_BUS7);
OneWire oneWire8(ONE_WIRE_BUS8);

DallasTemperature sensors1(&oneWire1);
DallasTemperature sensors2(&oneWire2);
DallasTemperature sensors3(&oneWire3);
DallasTemperature sensors4(&oneWire4);
DallasTemperature sensors5(&oneWire5);
DallasTemperature sensors6(&oneWire6);
DallasTemperature sensors7(&oneWire7);
DallasTemperature sensors8(&oneWire8);

void setup(void) {
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library");

  // เริ่มการทำงานของแต่ละเซ็นเซอร์
  sensors1.begin();
  sensors2.begin();
  sensors3.begin();
  sensors4.begin();
  sensors5.begin();
  sensors6.begin();
  sensors7.begin();
  sensors8.begin();
}

void loop(void) {
  // ขออุณหภูมิจากทุกเซ็นเซอร์
  Serial.println("Requesting temperatures...");
  
  sensors1.requestTemperatures();
  sensors2.requestTemperatures();
  sensors3.requestTemperatures();
  sensors4.requestTemperatures();
  sensors5.requestTemperatures();
  sensors6.requestTemperatures();
  sensors7.requestTemperatures();
  sensors8.requestTemperatures();
  
  // แสดงอุณหภูมิจากเซ็นเซอร์แต่ละตัว
  Serial.print("Temperature from sensor 1 is: ");
  Serial.print(sensors1.getTempCByIndex(0));
  Serial.println(" *C");

  Serial.print("Temperature from sensor 2 is: ");
  Serial.print(sensors2.getTempCByIndex(0));
  Serial.println(" *C");

  Serial.print("Temperature from sensor 3 is: ");
  Serial.print(sensors3.getTempCByIndex(0));
  Serial.println(" *C");

  Serial.print("Temperature from sensor 4 is: ");
  Serial.print(sensors4.getTempCByIndex(0));
  Serial.println(" *C");

  Serial.print("Temperature from sensor 5 is: ");
  Serial.print(sensors5.getTempCByIndex(0));
  Serial.println(" *C");

  Serial.print("Temperature from sensor 6 is: ");
  Serial.print(sensors6.getTempCByIndex(0));
  Serial.println(" *C");

  Serial.print("Temperature from sensor 7 is: ");
  Serial.print(sensors7.getTempCByIndex(0));
  Serial.println(" *C");

  Serial.print("Temperature from sensor 8 is: ");
  Serial.print(sensors8.getTempCByIndex(0));
  Serial.println(" *C");
  
  delay(1000); // รอ 1 วินาที ก่อนทำการอ่านข้อมูลใหม่
}
$abcdeabcde151015202530354045505560fghijfghij