#include <LiquidCrystal_I2C.h> // Dołączenie biblioteki LiquidCrystal_I2C dla wyświetlacza LCD
#include <OneWire.h> // Dołączenie biblioteki OneWire dla komunikacji z czujnikiem temperatury
#include <DallasTemperature.h> // Dołączenie biblioteki DallasTemperature do obsługi czujnika temperatury
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) // Makro do ustawiania bitów w rejestrach
volatile boolean flaga = 0; // Zmienna typu boolean do sterowania flagą
// Tworzenie obiektu dla wyświetlacza LCD z adresem I2C, liczba kolumn i wierszy
LiquidCrystal_I2C lcd(0x27, 20, 4);
volatile byte tryb = 0; // Zmienna do zliczania naciśnięć przycisku
const byte opoznienie = 25; // Opóźnienie odsprzęgania w milisekundach
unsigned long ostatni_czas1 = millis(); // Czas ostatniego zmienia stanu pierwszego przycisku
boolean poprzedni_stan1 = LOW; // Poprzedni stan pierwszego przycisku
int etap = 1; // Zmienna etapu
long czas; // Zmienna czasu
float temperatura_aktualna=0; // Zmienna aktualnej temperatury
byte wentylator_aktualny; // Zmienna aktualnej prędkości wentylatora
float temperatura_zadana; // Ustawienie żądanej temperatury
boolean grzanie=0; // Zmienna sterująca przekaźnikiem (0 - wyłączony, 1 - włączony)