Facebook
From Jittery Dove, 5 Years ago, written in C.
Embed
Download Paste or View Raw
Hits: 197
  1. #include <SPI.h>
  2. #include <Adafruit_GFX.h>
  3. #include <Adafruit_PCD8544.h>
  4. #include <OneWire.h>
  5. #include <DallasTemperature.h>
  6.  
  7. int one_wire = 10;  
  8. int delay = 0;
  9. float t;
  10. float t1;
  11. float t2;
  12. float t3;
  13.  
  14. Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3); // (SCLK,DIN,DC,CS,RST)
  15. OneWire oneWire(one_wire);
  16. DallasTemperature sensors(&oneWire);
  17. void setup()  
  18. {
  19.     display.begin();
  20.     display.setContrast(40);
  21.     display.clearDisplay();
  22.     sensors.begin();
  23.     pinMode(8,INPUT_PULLUP);
  24.     pinMode(9,INPUT_PULLUP);
  25.     pinMode(2,OUTPUT);
  26.     digitalWrite(2,LOW);
  27.     t=25;
  28. }
  29.  
  30. void loop() {
  31.  
  32.     //ODCZYT WEJSC ----------------------------------
  33.  
  34.     if (digitalRead(9)==LOW) {
  35.         t=t+0.5;  
  36.     }  
  37.  
  38.     if (digitalRead(8)==LOW) {
  39.         t=t-0.5;
  40.     }
  41.  
  42.     // odczyt co n-ty cykl, na ten moment co 10
  43.     if(delay > 10){
  44.         sensors.requestTemperatures();
  45.         t1=sensors.getTempCByIndex(0);
  46.         t2=sensors.getTempCByIndex(1);
  47.         //t3=sensors.getTempCByIndex(2);
  48.         delay=0;
  49.     }
  50.     delay++;
  51.  
  52.     //OBSLUGA WYSWIETLACZA----------------------------
  53.  
  54.     display.clearDisplay();
  55.     display.setTextSize(1);
  56.     display.setTextColor(BLACK);
  57.     display.setCursor(12,5);
  58.     display.print("Termometr");
  59.     //display.setCursor(2,30);
  60.     //display.print("Temp:");
  61.     display.setCursor(1,30);
  62.     display.print(t1);
  63.     display.setCursor(35,30);
  64.     display.print(t2);
  65.     display.print((char)247);
  66.     display.print("C");
  67.     display.setCursor(5,15);
  68.     display.print(digitalRead(8));
  69.     display.setCursor(10,15);
  70.     display.print(digitalRead(9));
  71.     display.setCursor(45,15);
  72.     display.print(t);
  73.     display.display();
  74.            
  75.  
  76.     //ZAPIS WYJSC--------------------------------------
  77.  
  78.     if (t1<t) {
  79.         digitalWrite(2,HIGH);  
  80.     }
  81.  
  82.     if (t1>t) {
  83.         digitalWrite(2,LOW);  
  84.     }
  85. }
  86.