#include <DallasTemperature.h>//dołączenie bibliotek do obsługi czujnika temperatury
#include <OneWire.h>
OneWire oneWire(A5);//zdefiniowanie pinu dla czujnika DS18B20
DallasTemperature sensors(&oneWire);//zadeklarowanie nowego obiektu sensors, komunikującego się z Arduino przezOneWire
float tempMAX = 0;//Aktualna temperatura maksymalna
float tempMIN = 0;//Aktualna temperatura minimalna
void setup() {
Serial.begin(9600);//uruchamianie komunikacji przez UART
sensors.begin();//Inicjalizacja czujników
//Ustawiam pierwszy odczyt jako MAX i MIN
sensors.requestTemperatures();//pobranie temperatury z czujnika
tempMAX = sensors.getTempCByIndex(0);//zapis temperatury pobranej z czujnika 0 w stopniach Celsjusza do zmiennej
tempMIN = sensors.getTempCByIndex(0);//zapis temperatury pobranej z czujnika 0 w stopniach Celsjusza do zmiennej
}
void loop() {
sensors.requestTemperatures();//pobranie temperatury z czujnika
float temperatura = sensors.getTempCByIndex(0);//zapis temperatury do zmiennej
if(temperatura > tempMAX) {//Jeśli aktualna temperatura jest większa od maksymalnej
tempMAX = temperatura;//to ustaw aktualną jako maksymalną
Serial.print("-- Nowa wartosc max: ");
Serial.print(tempMAX);//Wysyłanie przez UART temperatury maksymalnej
Serial.println("*C");
}
if(temperatura < tempMIN) {//Jeśli aktualna temperatura jest mniejsza od minimalnej
tempMIN = temperatura;//to ustaw aktualną jako minimalną
Serial.print("-- Nowa wartosc min: ");
Serial.print(tempMIN);//Wysyłanie przez UART temperatury minimalnej
Serial.println("*C");
}
Serial.print("Aktualna temperatura: ");
Serial.println(sensors.getTempCByIndex(0));//Wyświetlenie informacji
delay(5000);
}