- #include "max6675.h"
- int TEMPERATURA1 = 190;
- int TEMPERATURA2 = 190;
- int silownikglowny = A4;
- int silownikiboczne = A5;
- int czas_glowny = 6 * 2;
- int czasglowny = 0;
- int czas_boczne = 6 * 2;
- int czasboczne = 0;
- int przycisk = 3;
- int ktcCLK = 13;
- int ktcSO = 12;
- int ktcCS0 = 10;
- int ktcCS1 = 11;
- MAX6675 ktc0(ktcCLK, ktcCS0, ktcSO);
- MAX6675 ktc1(ktcCLK, ktcCS1, ktcSO);
- int timer = 1;
- byte relay0 = 8;
- byte relay1 = 9;
- int czekanie[2] = {0,0};
- int grzanie[2] = {0,0};
- float temppast0 = 0.00;
- float tempnow0 = 0.00;
- float temppast1 = 0.00;
- float tempnow1 = 0.00;
- void setup() {
- //SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP SETUP
- pinMode(przycisk, INPUT_PULLUP);
- pinMode(silownikglowny, OUTPUT);
- pinMode(silownikiboczne, OUTPUT);
- digitalWrite(silownikglowny, HIGH);
- digitalWrite(silownikiboczne, HIGH);
- pinMode(relay0, OUTPUT);
- pinMode(relay1, OUTPUT);
- Serial.begin(9600);
- digitalWrite(relay0, HIGH);
- digitalWrite(relay1, HIGH);
- delay(500);
- }
- void loop() {
- // put your main code here, to run repeatedly:
- temppast0 = tempnow0;
- temppast1 = tempnow1;
- tempnow0 = ktc0.readCelsius();
- tempnow1 = ktc1.readCelsius();
- if (tempnow0 == temppast0*2) {tempnow0 = temppast0;}
- if (tempnow1 == temppast1*2) {tempnow1 = temppast1;}
- int temp0 = static_cast<int>(tempnow0);
- int temp1 = static_cast<int>(tempnow1);
- Serial.print(" #0 C = ");
- Serial.print(tempnow0);
- Serial.print(" #1 C = ");
- Serial.println(tempnow1);
- if (digitalRead(przycisk) == LOW) {
- czasglowny = czas_glowny;
- }
- if (czasglowny > 1) {digitalWrite(silownikglowny, LOW); czasglowny--;}
- if (czasglowny == 1) {digitalWrite(silownikglowny, HIGH); czasboczne = czas_boczne; czasglowny = 0;}
- if (czasboczne > 1) {digitalWrite(silownikiboczne, LOW); czasboczne--;}
- if (czasboczne == 1) {digitalWrite(silownikiboczne, HIGH); czasboczne = 0;}
- if (czekanie[0]>0){
- if (grzanie[0]>0){digitalWrite(relay0, LOW); grzanie[0]--; czekanie[0]--;} else {digitalWrite(relay0, HIGH); czekanie[0]--;}}
- if ((grzanie[0]==0)&&(czekanie[0]==0)){
- if ((temppast0>tempnow0) && (TEMPERATURA1 > temp0)){grzanie[0] = 10; czekanie[0] = 30;} else if (TEMPERATURA1 <= temp0) {digitalWrite(relay0, HIGH);}}
- if (czekanie[1]>0){
- if (grzanie[1]>0){digitalWrite(relay1, LOW); grzanie[1]--; czekanie[1]--;} else {digitalWrite(relay1, HIGH); czekanie[1]--;}}
- if ((grzanie[1]==0)&&(czekanie[1]==0)){
- if ((temppast1>tempnow1) && (TEMPERATURA2 > temp1)){grzanie[1] = 10; czekanie[1] = 30;} else if (TEMPERATURA2 <= temp1) {digitalWrite(relay1, HIGH);}}
- delay(500);
- if (timer == 32000){timer = 1;} else {timer++;}
- }