/*

   Meranie teploty a zobrazenie na display

   // Zapojenie
   // OLED Dislapy 5v,GND, SCL -> D1, SDA -> D2


   // DC18B20
   // 5v, GND, Data -> D7
   // Rezistor 4k7 medzi Data(D7) a 5V
   

 
 */


unsigned long oldTime;

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 0  // GPIO0
Adafruit_SSD1306 OLED(OLED_RESET);


#include <OneWire.h>
#include <DallasTemperature.h>

 
#define ONE_WIRE_PIN D7 //D7
 
OneWire oneWire(ONE_WIRE_PIN);
DallasTemperature sensors(&oneWire);
 
int stierac = 0; 


void setup()
{
  
  // Initialize a serial connection for reporting values to the host
  Serial.begin(9600);
   

  OLED.begin();
  OLED.setTextColor(WHITE, BLACK);
  OLED.clearDisplay();

  //Add stuff into the 'display buffer'
  OLED.setTextWrap(false);
  OLED.setTextSize(1);
  OLED.setTextColor(WHITE);
  OLED.setCursor(0,0);
  OLED.println("TEMP m_a_k_y");
 
  OLED.display(); //output 'display buffer' to screen  



  
}

/**
 * Main program loop
 */
void loop()
{

  sensors.requestTemperatures();
  float temp = sensors.getTempCByIndex(0);

//  OLED.setCursor(0,12);
//  OLED.setTextSize(1);
//  OLED.println("CNT: ");
  OLED.setTextSize(3);
  OLED.setTextColor(WHITE, BLACK);
 
  stierac++;
  if (stierac > 20){ 
    // cistim display
    OLED.setCursor(0,12);
    OLED.print("         "); 
    OLED.display();
    // koniec cistenia
    stierac = 0;
  }
  
  OLED.setCursor(0,12);

  String displayValue;
  displayValue = String(temp, 2);
  OLED.print(displayValue);
  OLED.setTextSize(1);
  displayValue = " ";
  displayValue += (char)247;
  displayValue += "C";

  OLED.print(displayValue);

  OLED.display();
  Serial.println("teplota:");
  Serial.println(temp);

  delay(2000);

}
