#include <SPI.h> //dodaj bilbiotekę SPI
#include <Adafruit_GFX.h> //dodaj podstawową bibliotekę graficzną
#include <Adafruit_PCD8544.h> //dodaj bilbiotekę obsługującą LCD 5110
#include <OneWire.h> //dodaj biblitekę OneWire
#include <DallasTemperature.h> //dodaj biblitekę obsługującą DS18B20
int one_wire = 10; //Transmisja 1-Wire na pinie 10
float t;
float t1;
float t2;
float t3;
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3); //podłączamy ekran nokia do pinów SCLK,DIN,DC,CS,RST
OneWire oneWire(one_wire); //wywołujemy transmisję 1-Wire na pinie 10
DallasTemperature sensors(&oneWire); //informujemy Arduino, ze przy pomocy 1-Wire
//chcemy komunikowac sie z czujnikiem
void setup()
{
display.begin(); //uruchom ekran
display.setContrast(40); //ustaw kontrast
display.clearDisplay(); //wyczyść bufor ekranu
sensors.begin(); //rozpocznij odczyt z czujnika
pinMode(8,INPUT_PULLUP);
pinMode(9,INPUT_PULLUP);
pinMode(2,OUTPUT);
digitalWrite(2,LOW);
t=25;
}
void loop() {
sensors.requestTemperatures(); //zazadaj odczyt temperatury z czujnika
digitalRead(8);
digitalRead(9);
t1=sensors.getTempCByIndex(0);
t2=sensors.getTempCByIndex(1);
//t3=sensors.getTempCByIndex(2);
display.clearDisplay(); //wyczyść bufor ekranu
display.setTextSize(1); //ustaw rozmiar czcionki na 1
display.setTextColor(BLACK); //ustaw kolor tekstu na czarny
display.setCursor(12,5); //ustaw kursor w pozycji 12 kolumna 15 wiersz
display.print("Termometr"); //wyświetl "Termometr."
//display.setCursor(2,30); //ustaw kurs w pozycji 2 kolumna 30 wiersz
//display.print("Temp:"); //wyświetl "Temp: "
display.setCursor(1,30); //ustaw kursor w pozycji 34 kolumna 30 wiersz zmiana
display.print(t1); //wyświetl odczytaną temperaturę z czujnika
display.setCursor(35,30); //ustaw kursor w pozycji 34 kolumna 30 wiersz zmiana
display.print(t2); //wyświetl odczytaną temperaturę z czujnika
display.print((char)247); //wyświetl znak stopnia
display.print("C"); //....
display.setCursor(5,15);
display.print(digitalRead(8));
display.setCursor(10,15);
display.print(digitalRead(9));
display.setCursor(45,15); //zadana
display.print(t);
display.display(); //wyświetl to co podaliśmy wyżej
if (digitalRead(9)==LOW) {
t=t+0.5;
}
if (digitalRead(8)==LOW) {
t=t-0.5;
}
if (t1<t) {
digitalWrite(2,HIGH);
}
if (t1>t) {
digitalWrite(2,LOW);
}
}