Facebook
From Silly Penguin, 5 Years ago, written in C.
Embed
Download Paste or View Raw
Hits: 174
  1. #include <SPI.h>                              //dodaj bilbiotekę SPI
  2. #include <Adafruit_GFX.h>                     //dodaj podstawową bibliotekę graficzną
  3. #include <Adafruit_PCD8544.h>                 //dodaj bilbiotekę obsługującą LCD 5110
  4. #include <OneWire.h>                         //dodaj biblitekę OneWire
  5. #include <DallasTemperature.h>               //dodaj biblitekę obsługującą DS18B20
  6.  
  7. int one_wire = 10;                            //Transmisja 1-Wire na pinie 10                    
  8. float t;
  9. float t1;
  10. float t2;
  11. float t3;
  12.  
  13. Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3); //podłączamy ekran nokia do pinów SCLK,DIN,DC,CS,RST
  14. OneWire oneWire(one_wire);                   //wywołujemy transmisję 1-Wire na pinie 10
  15. DallasTemperature sensors(&oneWire);         //informujemy Arduino, ze przy pomocy 1-Wire
  16.                                             //chcemy komunikowac sie z czujnikiem
  17.  
  18. void setup()  
  19. {
  20.     display.begin();                          //uruchom ekran
  21.     display.setContrast(40);                  //ustaw kontrast
  22.     display.clearDisplay();                   //wyczyść bufor ekranu
  23.     sensors.begin();                          //rozpocznij odczyt z czujnika
  24.     pinMode(8,INPUT_PULLUP);
  25.     pinMode(9,INPUT_PULLUP);
  26.     pinMode(2,OUTPUT);
  27.     digitalWrite(2,LOW);
  28.     t=25;
  29. }
  30.  
  31. void loop() {
  32.  
  33.     sensors.requestTemperatures();            //zazadaj odczyt temperatury z czujnika
  34.     digitalRead(8);
  35.     digitalRead(9);
  36.  
  37.     t1=sensors.getTempCByIndex(0);
  38.     t2=sensors.getTempCByIndex(1);
  39.     //t3=sensors.getTempCByIndex(2);
  40.  
  41.     display.clearDisplay();                   //wyczyść bufor ekranu
  42.     display.setTextSize(1);                   //ustaw rozmiar czcionki na 1
  43.     display.setTextColor(BLACK);              //ustaw kolor tekstu na czarny
  44.     display.setCursor(12,5);                   //ustaw kursor w pozycji 12 kolumna 15 wiersz
  45.     display.print("Termometr");              //wyświetl "Termometr."
  46.     //display.setCursor(2,30);                  //ustaw kurs w pozycji 2 kolumna 30 wiersz
  47.     //display.print("Temp:");                  //wyświetl "Temp: "
  48.     display.setCursor(1,30);                 //ustaw kursor w pozycji 34 kolumna 30 wiersz zmiana
  49.     display.print(t1);  //wyświetl odczytaną temperaturę z czujnika
  50.     display.setCursor(35,30);                 //ustaw kursor w pozycji 34 kolumna 30 wiersz zmiana
  51.     display.print(t2);  //wyświetl odczytaną temperaturę z czujnika
  52.     display.print((char)247);                 //wyświetl znak stopnia
  53.     display.print("C");                       //....
  54.     display.setCursor(5,15);                
  55.     display.print(digitalRead(8));
  56.     display.setCursor(10,15);
  57.     display.print(digitalRead(9));
  58.  
  59.     display.setCursor(45,15);                   //zadana
  60.     display.print(t);  
  61.     display.display();                       //wyświetl to co podaliśmy wyżej
  62.            
  63.     if (digitalRead(9)==LOW)    {
  64.         t=t+0.5;  
  65.     }  
  66.  
  67.     if (digitalRead(8)==LOW)  {
  68.         t=t-0.5;
  69.     }
  70.  
  71.     if (t1<t)  {
  72.         digitalWrite(2,HIGH);  
  73.     }
  74.  
  75.     if (t1>t) {
  76.         digitalWrite(2,LOW);  
  77.     }
  78. }
  79.