// Dört display 7 segment sıcaklık görüntüleme
#include "SevSeg.h"  // 7 Segment Display kütüphane dosyası eklenir
SevSeg sevseg;
// DS18B20 iletişim
#include <OneWire.h>                  // Tek hat veri bağlantı kütüphanesi
#include <DallasTemperature.h>        // Dallas için kütüphane
#define ONE_WIRE_BUS A4               // Veri bağlantı pini
OneWire oneWire(ONE_WIRE_BUS);        // OneWire hat seçimi
DallasTemperature sensors(&oneWire);  // oneWire referansı Dallas Temperature aktar

void setup() {
  //Serial.begin(9600);  // Seri port iletişimi başlatma
  //Serial.println("Dallas Temperature IC Control Library Demo");
  sensors.begin();  // Sensör başlat komutu


  byte numDigits = 4;                                // Digit sayısı
  byte digitPins[] = { 10, 9, 8, 7 };                // Digit pinleri
  byte segmentPins[] = { 0, 1, 2, 3, 4, 5, 6, 13 };  // 7 Segment ve nokta pinleri
  bool resistorsOnSegments = false;                  // 'false' direnç kullanılmış
  byte hardwareConfig = COMMON_ANODE;                // Ortak anod yada katod
  bool updateWithDelays = false;                     // 'false' varasayılan bekletme
  bool leadingZeros = false;                         // Baştaki sıfırlar olması 'true'yu kullanın
  bool disableDecPoint = false;                      // Ondalık noktanız mevcut değilse 'true' kullanın
  disableDecPoint = false;                           // Ondalık nokta yoksa 'true' kullanın
  sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
               updateWithDelays, leadingZeros, disableDecPoint);
  sevseg.setBrightness(90);
}
void loop() {
  //Serial.print("Requesting temperatures...");
  sensors.requestTemperatures();  // Sıcaklık değerini alma komutu
  //Serial.println("DONE");
  float tempC = sensors.getTempCByIndex(0);  // Sıcaklık değeri değişkene aktarır

/*
  // Okumanın başarılı olup olmadığını kontrol et
  if (tempC != DEVICE_DISCONNECTED_C) {
    //Serial.print("Temperature for the device 1 (index 0) is: ");
    //Serial.println(tempC);  // Alınan sıcaklık değerini yazar
  } else {
    //Serial.println("Error: Could not read temperature data");
  }
*/
  sevseg.setNumber(tempC);  // Sıcaklık değeri Segment Display ekrana yazar
  sevseg.refreshDisplay();  // Segment Display ekran yeniler
}