Facebook
From Bulky Armadillo, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 238
  1. #include "max6675.h"
  2.  
  3. int TEMPERATURA1 = 190;
  4. int TEMPERATURA2 = 190;
  5.  
  6. int silownikglowny = A4;
  7. int silownikiboczne = A5;
  8.  
  9. int czas_glowny = 6 * 2;
  10. int czasglowny = 0;
  11. int czas_boczne = 6 * 2;
  12. int czasboczne = 0;
  13.  
  14. int przycisk = 3;
  15.  
  16. int ktcCLK = 13;
  17. int ktcSO = 12;
  18. int ktcCS0 = 10;
  19. int ktcCS1 = 11;
  20. MAX6675 ktc0(ktcCLK, ktcCS0, ktcSO);
  21. MAX6675 ktc1(ktcCLK, ktcCS1, ktcSO);
  22.  
  23. int timer = 1;
  24.  
  25. byte relay0 = 8;
  26. byte relay1 = 9;
  27.  
  28. int czekanie[2] = {0,0};
  29. int grzanie[2] = {0,0};
  30.  
  31. float temppast0 = 0.00;
  32. float tempnow0 = 0.00;
  33. float temppast1 = 0.00;
  34. float tempnow1 = 0.00;
  35.  
  36.                     void setup() {
  37.                     //SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP
  38.                     pinMode(przycisk, INPUT_PULLUP);
  39.                     pinMode(silownikglowny, OUTPUT);
  40.                     pinMode(silownikiboczne, OUTPUT);
  41.                    
  42.                     digitalWrite(silownikglowny, HIGH);
  43.                     digitalWrite(silownikiboczne, HIGH);
  44.                    
  45.                     pinMode(relay0, OUTPUT);
  46.                     pinMode(relay1, OUTPUT);
  47.                                        
  48.                     Serial.begin(9600);
  49.                    
  50.                     digitalWrite(relay0, HIGH);
  51.                     digitalWrite(relay1, HIGH);
  52.                                                            
  53.                     delay(500);
  54.                     }
  55.  
  56. void loop() {
  57.   // put your main code here, to run repeatedly:
  58.    temppast0 = tempnow0;
  59.    temppast1 = tempnow1;
  60.      tempnow0 = ktc0.readCelsius();
  61.      tempnow1 = ktc1.readCelsius();
  62.  
  63.      if (tempnow0 == temppast0*2) {tempnow0 = temppast0;}
  64.      if (tempnow1 == temppast1*2) {tempnow1 = temppast1;}
  65.  
  66.  
  67.    int temp0 = static_cast<int>(tempnow0);
  68.    int temp1 = static_cast<int>(tempnow1);
  69.    
  70.      Serial.print(" #0 C = ");
  71.      Serial.print(tempnow0);
  72.      Serial.print(" #1 C = ");
  73.      Serial.println(tempnow1);
  74.  
  75.                 if (digitalRead(przycisk) == LOW) {
  76.                 czasglowny = czas_glowny;
  77.                 }
  78.                 if (czasglowny > 1) {digitalWrite(silownikglowny, LOW); czasglowny--;}
  79.                 if (czasglowny == 1) {digitalWrite(silownikglowny, HIGH); czasboczne = czas_boczne; czasglowny = 0;}
  80.                
  81.                 if (czasboczne > 1) {digitalWrite(silownikiboczne, LOW); czasboczne--;}
  82.                 if (czasboczne == 1) {digitalWrite(silownikiboczne, HIGH); czasboczne = 0;}
  83.                
  84.  
  85.  
  86.      
  87.      if (czekanie[0]>0){
  88.      if (grzanie[0]>0){digitalWrite(relay0, LOW); grzanie[0]--; czekanie[0]--;} else {digitalWrite(relay0, HIGH); czekanie[0]--;}}
  89.      if ((grzanie[0]==0)&&(czekanie[0]==0)){
  90.      if ((temppast0>tempnow0) && (TEMPERATURA1 > temp0)){grzanie[0] = 10; czekanie[0] = 30;} else if (TEMPERATURA1 <= temp0) {digitalWrite(relay0, HIGH);}}
  91.      
  92.      if (czekanie[1]>0){
  93.      if (grzanie[1]>0){digitalWrite(relay1, LOW); grzanie[1]--; czekanie[1]--;} else {digitalWrite(relay1, HIGH); czekanie[1]--;}}
  94.      if ((grzanie[1]==0)&&(czekanie[1]==0)){
  95.      if ((temppast1>tempnow1) && (TEMPERATURA2 > temp1)){grzanie[1] = 10; czekanie[1] = 30;} else if (TEMPERATURA2 <= temp1) {digitalWrite(relay1, HIGH);}}
  96.  
  97. delay(500);
  98. if (timer == 32000){timer = 1;} else {timer++;}
  99. }