const float BETA = 10000; // should match the Beta Coefficient of the thermistor
const int wyjscie = 13;
boolean start = 0;
boolean lewo = 0;
boolean prawo = 0;
boolean grzanie = 0;
const int d40 = 8;
const int d60 = 7;
const int d80 = 6;
const int d85 = 5;
const int d90 = 4;
const int d95 = 3;
const int d100 = 2;
float celsius;
float temp40 = 40;
float temp60 = 60;
float temp80 = 80;
float temp85 = 85;
float temp90 = 90;
float temp95 = 95;
float temp100 = 100;
int guzik = 0;
boolean pam1 = 0;
boolean pam2 = 0;
void setup() {
Serial.begin(9600);
pinMode(12, INPUT);
pinMode(11, INPUT);
pinMode(10, INPUT);
pinMode(9, INPUT);
pinMode(wyjscie, OUTPUT);
pinMode(d40, OUTPUT);
pinMode(d60, OUTPUT);
pinMode(d80, OUTPUT);
pinMode(d85, OUTPUT);
pinMode(d90, OUTPUT);
pinMode(d95, OUTPUT);
pinMode(d100, OUTPUT);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(wyjscie,LOW);
}
void loop() {
if (digitalRead(12)==HIGH) {start = 1;}
else {start=0;}
if (digitalRead(11)==HIGH) {lewo = 1;}
else {lewo=0;}
if (digitalRead(10)==HIGH) {prawo = 1;}
else {prawo=0;}
if (digitalRead(9)==HIGH) {grzanie = 1;}
else {grzanie=0;}
if ((start==1)&&(pam1==0)){
delay(100);
guzik = 1;
pam1=1;
Serial.println("gotowanie ON");
}
if ((start==0)&&(pam1==1)){
delay(100);
guzik = 0;
pam1=0;
Serial.println("gotowanie off");
}
if ((grzanie==1)&&(pam2==0)){
delay(100);
guzik = 4;
pam2=1;
Serial.println("grzanie ON");
}
if ((grzanie==0)&&(pam2==1)){
delay(100);
guzik = 0;
pam2=0;
Serial.println("grzanie off");
}
int analogValue = analogRead(1);
celsius = 1 / (log(1 / (4096. / analogValue - 1)) / BETA + 1.0 / 298.15) - 273.15;
Serial.print("Temperature: ");
Serial.print(celsius);
Serial.println(" ℃");
delay(1000);
//diody do pokazania temperatury
if (celsius>=temp100){ digitalWrite(d100, HIGH);}
else { digitalWrite(d100, LOW);}
if (celsius>=temp95){ digitalWrite(d95, HIGH); }
else { digitalWrite(d95, LOW); }
if (celsius>temp90){digitalWrite(d90, HIGH);}
else {digitalWrite(d90, LOW);}
if (celsius>=temp85){ digitalWrite(d85, HIGH);}
else { digitalWrite(d85, LOW);}
if (celsius>=temp80){ digitalWrite(d80, HIGH); }
else { digitalWrite(d80, LOW); }
if (celsius>temp60){digitalWrite(d60, HIGH);}
else {digitalWrite(d60, LOW);}
if (celsius>temp40){digitalWrite(d40, HIGH);}
else {digitalWrite(d40, LOW);}
switch (guzik) {
case 0:
digitalWrite(wyjscie, LOW);
break;
case 1:
if (celsius<temp100){
digitalWrite(wyjscie, HIGH);
}
break;
case 2:
if (celsius<temp90){
digitalWrite(wyjscie, HIGH);
}
break;
case 3:
if (celsius<temp80){
digitalWrite(wyjscie, HIGH);
}
break;
case 4:
if (celsius<temp80){
digitalWrite(wyjscie, HIGH);
}
break;
}
if ((celsius > temp100)&&(guzik == 1)){
digitalWrite(wyjscie,LOW);
guzik= 0;
}
if ((celsius > temp80)&&(guzik == 4)){
digitalWrite(wyjscie,LOW);
guzik= 0;
}
}