#include <Servo.h>
Servo N1;
Servo N2;
#define SS11 A0 //czujki
#define SS12 A1
#define SS21 A2
#define SS22 A3
#define SS31 A6
#define SS32 A7
#define SS41 A8
#define SS42 A9
#define L1 A11 //sygnalizacja
#define L2 A10
#define TOP1B A12
#define TOP1C A13
#define TOP2B A14
#define TOP2C A15
#define G1 8 //gong
#define D1 22 //drągi
#define D1_od 23
#define D2 24
#define D2_od 25
#define P1 10
#define P2 12
#define P3 9
#define P4 11
#define N1_pin 5
#define N2_pin 13
int e2,e3,e4,e5,e6,e7,e8,e9_1,e9_2,e10_1,e10_2,e10_3,e10_4,e11_1,e11_2,e12,e13_1,e13_2,e13_3,e13_4;
int e10_1z,e10_2z,e10_3z,e10_4z,e13_1z1,e13_1z2,e13_2z1,e13_2z2,e13_3z1,e13_3z2,e13_3z3,e13_3z4,e13_3z5,e13_3zp1,e13_3zp2,e13_4z1,e13_4z2;
bool psc1,psc2,psc3,psc4; //pociąg stoi czujnik (lub spalona dioda)
bool bpc1,bpc2,bpc3,bpc4; //brak przewodu czujnik (lub przewód przerwany)
bool cz1=1,cz2=1,cz3=1,cz4=1;
bool zezwolenie=1;
bool D1_stan,D2_stan;
String stan="SPRAWNY",stan_ob="SPRAWNY";
int zakres_d=100,zakres_g=900;
int zakres_c=zakres_d;
unsigned long blok_c1,blok_c2,blok_c3,blok_c4;
int cz_12=0,cz_23=0,cz_34=0;
int dd=1,mm=1,rrrr=2000,h=12,m=0;
int op; //opóźnienie
int rogatki_otwarte=90,rogatki_zamkniete=0;
int cnb=10000; //Czas na wyrzucenie błędu od psc
unsigned long ods=millis();
bool twd=0; //top wyrwany drąg
unsigned long ghz=millis(); //gong częstotliwość
unsigned long lhz=millis(); //sygnaliztor drogowy częstotliwość
int zpbd=0; //zamykanie przejazdu błąd czujnika
unsigned long zpbd_t=millis(); //czas
int jp=0; //jedzie pociąg
//int l=0,p=0;
int strona=0; //strona jazdy 0-neutral, 1-lewo, 2-prawo
int zm=0; //zamknięcie manual
int rpp=0; //rozpoczęcie przejazdu pociągu 0-neutral 1-rozpoczęcie 2-zakończenie
int strona_g=0;
int FP=0;
unsigned long kp=millis(); //kończenie przejazdu
int gi=0; //global i
//kolejny sygnał czujnik
unsigned long ksc1=millis(),ksc2=millis(),ksc3=millis(),ksc4=millis(),ksc5=millis(),ksc6=millis(),ksc7=millis(),ksc8=millis();
int dly_c=1000; // delay czujnik
//czas na aktywowanie następnego czujnika
unsigned long cnanc1=millis(),cnanc2=millis(),cnanc3=millis(),cnanc4=millis(),cnanc5=millis(),cnanc6=millis(),cnanc7=millis(),cnanc8=millis();
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
#include<Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
DateTime now;
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.backlight();
pinMode(SS11, INPUT);
pinMode(SS12, INPUT);
pinMode(SS21, INPUT);
pinMode(SS22, INPUT);
pinMode(SS31, INPUT);
pinMode(SS32, INPUT);
pinMode(SS41, INPUT);
pinMode(SS42, INPUT);
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(TOP1B, OUTPUT);
pinMode(TOP1C, OUTPUT);
pinMode(TOP2B, OUTPUT);
pinMode(TOP2C, OUTPUT);
pinMode(G1, OUTPUT);
pinMode(D1, INPUT_PULLUP);
pinMode(D2, INPUT_PULLUP);
//pinMode(D1_od, OUTPUT);
//pinMode(D2_od, OUTPUT);
pinMode(P1, INPUT_PULLUP);
pinMode(P2, INPUT_PULLUP);
pinMode(P3, INPUT_PULLUP);
pinMode(P4, INPUT_PULLUP);
digitalWrite(P1,1);
digitalWrite(P2,1);
digitalWrite(P3,1);
digitalWrite(P4,1);
//digitalWrite(D1_od,1);
//digitalWrite(D2_od,1);
pinMode(N1_pin, OUTPUT);
pinMode(N2_pin, OUTPUT);
N1.attach(N1_pin);
N2.attach(N2_pin);
//N1.write(rogatki_zamkniete);
//startowa pozycja rogatek
if(digitalRead(D1)==0)
{
N1.write(rogatki_otwarte);
}
if(digitalRead(D2)==0)
{
N2.write(rogatki_otwarte);
}
if (! rtc.begin()) {//formułka niezbędna do działania RTC
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
//rtc.adjust(DateTime(rrrr, mm, dd, h, m, 0));
now = rtc.now();
E1();
delay(5000);
E2();
e2=1;
op=millis();
blok_c1=blok_c2=blok_c3=blok_c4=millis();
cz1=cz2=cz3=cz4=1;
//cz1=0;
//Serial.println(analogRead(SS11));
//Serial.println(analogRead(SS12));
//digitalWrite(TOP1B,1);
//digitalWrite(TOP1C,1);
//digitalWrite(TOP2B,1);
//digitalWrite(TOP2C,1);
if((digitalRead(D1)==0)||(digitalRead(D2)==0))
{
twd=1;
}
}
//faza przejazdu
int fp1=0,fp2=0,fp3=0,fp4=0,fp5=0,fp6=0,fp7=0,fp8=0;
int cnanc=5000;
int bc1=1,bc2=1,bc3=1,bc4=1; //błąd czujnika
void loop()
{
/*
Serial.println(digitalRead(D1));
Serial.println(digitalRead(D2));
Serial.println("---------------");
*/
//Serial.println(bc1);
//Serial.println(fp1);
//Serial.println(millis()-cnanc1>cnanc);
//Serial.println((fp1==1)&&((millis()-cnanc1)>cnanc));
//Serial.println("-----------------");
//if(cz1==0) Serial.println(cz1);
//LOGIKA PRZEJAZDU
//kierunek SS11-SS12 (prawo)
if(((analogRead(SS11)>zakres_g)&&(fp1==0)&&(strona==0)))
{
strona=2;
fp1=1;
cnanc1=millis();
}
if((fp1==1)&&(analogRead(SS12)>zakres_g)&&(millis()-cnanc1<cnanc)&&(strona==2))
{
fp1=2;
cz_12++;
}
else if((fp1==1)&&(millis()-cnanc1>cnanc))
{
bc1=0;
fp1=0;
strona=0;
}
if((fp1==2)&&(analogRead(SS12)<zakres_d))
{
fp1=0;
strona=0;
}
if(((analogRead(SS21)>zakres_g)&&(fp2==0)&&(strona==0)))
{
strona=2;
fp2=1;
cnanc2=millis();
}
if((fp2==1)&&(analogRead(SS22)>zakres_g)&&(millis()-cnanc2<cnanc)&&(strona==2))
{
fp2=2;
cz_12--;
cz_23++;
}
else if((fp2==1)&&(millis()-cnanc2>cnanc))
{
bc2=0;
fp2=0;
strona=0;
}
if((fp2==2)&&(analogRead(SS22)<zakres_d))
{
fp2=0;
strona=0;
}
if(((analogRead(SS31)>zakres_g)&&(fp3==0)&&(strona==0)))
{
strona=2;
fp3=1;
cnanc3=millis();
}
if((fp3==1)&&(analogRead(SS32)>zakres_g)&&(millis()-cnanc3<cnanc)&&(strona==2))
{
fp3=2;
cz_23--;
cz_34++;
}
else if((fp3==1)&&(millis()-cnanc3>cnanc))
{
bc3=0;
fp3=0;
strona=0;
}
if((fp3==2)&&(analogRead(SS32)<zakres_d))
{
fp3=0;
strona=0;
}
if(((analogRead(SS41)>zakres_g)&&(fp4==0)&&(strona==0)))
{
strona=2;
fp4=1;
cnanc4=millis();
}
if((fp4==1)&&(analogRead(SS42)>zakres_g)&&(millis()-cnanc4<cnanc)&&(strona==2))
{
fp4=2;
cz_34--;
}
else if((fp4==1)&&(millis()-cnanc4>cnanc))
{
bc4=0;
fp4=0;
strona=0;
}
if((fp4==2)&&(analogRead(SS42)<zakres_d))
{
fp4=0;
strona=0;
}
//kierunek SS42-SS41 (lewo)
if(((analogRead(SS42)>zakres_g)&&(fp5==0)&&(strona==0)))
{
strona=1;
fp5=1;
cnanc5=millis();
}
if((fp5==1)&&(analogRead(SS41)>zakres_g)&&(millis()-cnanc5<cnanc)&&(strona==1))
{
fp5=2;
cz_34++;
}
else if((fp5==1)&&(millis()-cnanc5>cnanc))
{
bc4=0;
fp5=0;
strona=0;
}
if((fp5==2)&&(analogRead(SS41)<zakres_d))
{
fp5=0;
strona=0;
}
if(((analogRead(SS32)>zakres_g)&&(fp6==0)&&(strona==0)))
{
strona=1;
fp6=1;
cnanc6=millis();
}
if((fp6==1)&&(analogRead(SS31)>zakres_g)&&(millis()-cnanc6<cnanc)&&(strona==1))
{
fp6=2;
cz_34--;
cz_23++;
}
else if((fp6==1)&&(millis()-cnanc6>cnanc))
{
bc3=0;
fp6=0;
strona=0;
}
if((fp6==2)&&(analogRead(SS31)<zakres_d))
{
fp6=0;
strona=0;
}
if(((analogRead(SS22)>zakres_g)&&(fp7==0)&&(strona==0)))
{
strona=1;
fp7=1;
cnanc7=millis();
}
if((fp7==1)&&(analogRead(SS21)>zakres_g)&&(millis()-cnanc7<cnanc)&&(strona==1))
{
fp7=2;
cz_23--;
cz_12++;
}
else if((fp7==1)&&(millis()-cnanc7>cnanc))
{
bc2=0;
fp7=0;
strona=0;
}
if((fp7==2)&&(analogRead(SS21)<zakres_d))
{
fp7=0;
strona=0;
}
if(((analogRead(SS12)>zakres_g)&&(fp8==0)&&(strona==0)))
{
strona=1;
fp8=1;
cnanc8=millis();
}
if((fp8==1)&&(analogRead(SS11)>zakres_g)&&(millis()-cnanc8<cnanc)&&(strona==1))
{
fp8=2;
cz_12--;
}
else if((fp8==1)&&(millis()-cnanc8>cnanc))
{
bc1=0;
fp8=0;
strona=0;
}
if((fp8==2)&&(analogRead(SS11)<zakres_d))
{
fp8=0;
strona=0;
}
//------------------------------------------------------------------------------
if((stan=="SPRAWNY")&&((analogRead(L1)>1000)||(analogRead(L2)>1000))&&(jp==0))
{
jp=1;
digitalWrite(L1,0);
digitalWrite(L2,0);
}
/*
if((strona_g==0)&&(strona!=0))
{
strona_g=strona;
}
*/
if((cz_12==1)&&(true)&&(true)&&(FP==0)&&(strona_g==0))
{
strona_g=2; //w prawo
rpp=1;
FP=1;
if((cz2==0)||(cz3==0))
{
digitalWrite(TOP1C,1);
}
else
{
digitalWrite(TOP1B,1);
}
}
if((true)&&(true)&&(cz_34==1)&&(FP==0)&&(strona_g==0))
{
strona_g=1; //w lewo
rpp=1;
FP=1;
if((cz2==0)||(cz3==0))
{
digitalWrite(TOP2C,1);
}
else
{
digitalWrite(TOP2B,1);
}
}
if((FP==1)&&(strona_g==2)&&(cz_34>0))
{
FP=2;
}
if((FP==1)&&(strona_g==1)&&(cz_12>0))
{
FP=2;
}
if((FP==2)&&((strona_g==2)||(strona_g==1))&&(cz_23==0)) //dla obu kierunków
{
FP=3;
}
if(FP==3)
{
if(digitalRead(D1)==1)
{
N1.write(rogatki_otwarte);
}
if(digitalRead(D2)==1)
{
N2.write(rogatki_otwarte);
}
kp=millis();
FP=4;
gi=0;
}
if((FP==4)&&(millis()-kp>8000))
{
rpp=0;
zpbd=0;
//strona_g=0;
gi++;
if(gi==2)
{
FP=5;
}
}
if((FP==5))
{
digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(TOP1B,0);
digitalWrite(TOP2B,0);
gi=0;
FP=6;
}
if((FP==6)&&(cz_12==0)&&(cz_34==0))
{
FP=0;
strona_g=0;
}
/*
if((rpp==1)&&(cz_12==0)&&(cz_23==0)&&(cz_34==0)) //zakończenie przejazdu
{
rpp=0;
}
*/
//jeżeli usterka cz 1 lub 4 to zamykanie przejazdu
if(((rpp==1)||(zm==1)||(cz1==0)||(cz4==0))&&(millis()>10000))
{
if(zpbd==0)
{
zpbd=1;
zpbd_t=millis();
}
if(millis()-ghz>1500)
{
ghz=millis();
tone(G1,2300,750);
}
if((millis()-lhz>1000))
{
lhz=millis();
digitalWrite(L1,!digitalRead(L1));
digitalWrite(L2,!digitalRead(L1));
}
}
if((zpbd==1)&&(millis()-zpbd_t>8000))
{
zpbd=2;
if(digitalRead(D1)==1)
{
N1.write(rogatki_zamkniete);
}
if(digitalRead(D2)==1)
{
N2.write(rogatki_zamkniete);
}
}
/*if(zm==1)
{
if(zpbd==0)
{
zpbd=1;
zpbd_t=millis();
}
if(millis()-ghz>1500)
{
ghz=millis();
tone(G1,2300,750);
}
if((millis()-lhz>1000))
{
lhz=millis();
digitalWrite(L1,!digitalRead(L1));
digitalWrite(L2,!digitalRead(L1));
}
}
if((zm==1)&&(zpbd==1)&&(millis()-zpbd_t>8000))
{
zpbd=2;
if(digitalRead(D1)==1)
{
N1.write(rogatki_zamkniete);
}
if(digitalRead(D2)==1)
{
N2.write(rogatki_zamkniete);
}
}
*/
//Serial.println(analogRead(SS11));
//Zapalenie topów przy wyrwanym drągu
if((digitalRead(D1)==1)&&(digitalRead(D2)==1)&&(cz_12==0)&&(cz_23==0)&&(cz_34==0))
{
if(twd==0)
{
twd=1;
digitalWrite(TOP1C,0);
digitalWrite(TOP2C,0);
}
}
else if((twd==1)&&((analogRead(SS11)>zakres_g)||(analogRead(SS12)>zakres_g))&&((digitalRead(D1)==0)||(digitalRead(D2))==0))
{
twd=0;
digitalWrite(TOP1C,1);
//digitalWrite(TOP2C,1);
}
else if((twd==1)&&((analogRead(SS41)>zakres_g)||(analogRead(SS42)>zakres_g))&&((digitalRead(D1)==0)||(digitalRead(D2)==0)))
{
twd=0;
//digitalWrite(TOP1C,1);
digitalWrite(TOP2C,1);
}
//Główne sprawdzenie sprawności systemu
if((psc1==1)&&(bpc1==1)&&(bc1==1))
{
cz1=1;
}
else
{
cz1=0;
}
if((psc2==1)&&(bpc2==1)&&(bc2==1))
{
cz2=1;
}
else
{
cz2=0;
}
if((psc3==1)&&(bpc3==1)&&(bc3==1))
{
cz3=1;
}
else
{
cz3=0;
}
if((psc4==1)&&(bpc4==1)&&(bc4==1))
{
cz4=1;
}
else
{
cz4=0;
}
//Serial.println(analogRead(SS11));
//Serial.println(psc1);
//Serial.println("-------");
//Sprawdzanie sprawności diody w czujniku
if((analogRead(SS11)<zakres_c+1)&&(analogRead(SS12)<zakres_c+1))
{
blok_c1=millis();
psc1=1;
}
else if(millis()-blok_c1>cnb)
{
psc1=0;
}
if((analogRead(SS21)<zakres_c)&&(analogRead(SS22)<zakres_c))
{
blok_c2=millis();
psc2=1;
}
else if(millis()-blok_c2>cnb)
{
psc2=0;
}
if((analogRead(SS31)<zakres_c)&&(analogRead(SS32)<zakres_c))
{
blok_c3=millis();
psc3=1;
}
else if(millis()-blok_c3>cnb)
{
psc3=0;
}
if((analogRead(SS41)<zakres_c)&&(analogRead(SS42)<zakres_c))
{
blok_c4=millis();
psc4=1;
}
else if(millis()-blok_c4>cnb)
{
psc4=0;
}
//sprawdzanie sprawności czujników
if(((analogRead(SS11)>=zakres_d)&&(analogRead(SS11)<=zakres_g))||((analogRead(SS12)>=zakres_d)&&(analogRead(SS12)<=zakres_g)))
{
bpc1=0;
}
else
{
bpc1=1;
}
if(((analogRead(SS21)>=zakres_d)&&(analogRead(SS21)<=zakres_g))||((analogRead(SS22)>=zakres_d)&&(analogRead(SS22)<=zakres_g)))
{
bpc2=0;
}
else
{
bpc2=1;
}
if(((analogRead(SS31)>=zakres_d)&&(analogRead(SS31)<=zakres_g))||((analogRead(SS32)>=zakres_d)&&(analogRead(SS32)<=zakres_g)))
{
bpc3=0;
}
else
{
bpc3=1;
}
if(((analogRead(SS41)>=zakres_d)&&(analogRead(SS41)<=zakres_g))||((analogRead(SS42)>=zakres_d)&&(analogRead(SS42)<=zakres_g)))
{
bpc4=0;
}
else
{
bpc4=1;
}
//sygnalizacja usterki i odświeżenie ekranu
if(millis()-ods>500)
{
if((cz1==1)&&(cz2==1)&&(cz3==1)&&(cz4==1)&&(digitalRead(D1)==1)&&(digitalRead(D2)==1))
{
ods=millis();
stan_ob="SPRAWNY";
stan=stan_ob;
if(e2==1)
{
E2();
}
else if(e7==1)
{
E7();
}
else if(e3==1)
{
E3();
}
}
else
{
ods=millis();
stan_ob="USTERKA";
stan=stan_ob;
if(e2==1)
{
E2();
}
else if(e7==1)
{
E7();
}
else if(e3==1)
{
E3();
}
}
}
/*
if((e2==1)&&(millis()-op>=60000)) //odświeżanie ekranu E2() co 1 minutę, gdy aktywny
{
E2();
op=millis();
}
*/
if((e2==1)&&(digitalRead(P2)==0)&&(OP(op))) // 2 zmiana 3-12
{
e2=0;
E3();
e3=1;
op=millis();
}
else if((e2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e2=0;
E12();
e12=1;
op=millis();
}
if((e3==1)&&(digitalRead(P2)==0)&&(OP(op))) //3 zmiana 2-7
{
e3=0;
E7();
e7=1;
op=millis();
}
else if((e3==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e3=0;
E2();
e2=1;
op=millis();
}
if((e7==1)&&(digitalRead(P2)==0)&&(OP(op)))//7 zmiana 3-8
{
e7=0;
E8();
e8=1;
op=millis();
}
else if((e7==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e7=0;
E3();
e3=1;
op=millis();
}
if((e8==1)&&(digitalRead(P2)==0)&&(OP(op))) //8 zmiana 7-9-12
{
e8=0;
E12();
e12=1;
op=millis();
}
else if((e8==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e8=0;
E7();
e7=1;
op=millis();
}
else if((e8==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e8=0;
E9_1();
e9_1=1;
op=millis();
}
if((e9_1==1)&&(digitalRead(P2)==0)&&(OP(op))) //9_1 zmiana 9_2-10_1
{
e9_1=0;
E9_2();
e9_2=1;
op=millis();
}
else if((e9_1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e9_1=0;
E9_2();
e9_2=1;
op=millis();
}
else if((e9_1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e9_1=0;
E10_1();
e10_1=1;
op=millis();
}
else if((e9_1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e9_1=0;
E8();
e8=1;
op=millis();
}
if((e9_2==1)&&(digitalRead(P2)==0)&&(OP(op))) //9_2 zmiana 9_1-11_1
{
e9_2=0;
E9_1();
e9_1=1;
op=millis();
}
else if((e9_2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e9_2=0;
E9_1();
e9_1=1;
op=millis();
}
else if((e9_2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e9_2=0;
E11_1();
e11_1=1;
op=millis();
}
else if((e9_2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e9_2=0;
E8();
e8=1;
op=millis();
}
if((e10_1==1)&&(digitalRead(P1)==0)&&(OP(op))) //10_1 zmiana 10_2-10_4
{
e10_1=0;
E10_2();
e10_2=1;
op=millis();
}
else if((e10_1==1)&&(digitalRead(P2)==0)&&(OP(op)))
{
e10_1=0;
E10_4();
e10_4=1;
op=millis();
}
else if((e10_1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e10_1=0;
E10_1z();
e10_1z=1;
op=millis();
}
else if((e10_1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_1=0;
E9_1();
e9_1=1;
op=millis();
}
if((e10_2==1)&&(digitalRead(P1)==0)&&(OP(op))) //10_2 zmiana 10_1-10_3
{
e10_2=0;
E10_3();
e10_3=1;
op=millis();
}
else if((e10_2==1)&&(digitalRead(P2)==0)&&(OP(op)))
{
e10_2=0;
E10_1();
e10_1=1;
op=millis();
}
else if((e10_2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e10_2=0;
E10_2z();
e10_2z=1;
op=millis();
}
else if((e10_2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_2=0;
E9_1();
e9_1=1;
op=millis();
}
if((e10_3==1)&&(digitalRead(P1)==0)&&(OP(op))) //10_3 zmiana 10_2-10_4
{
e10_3=0;
E10_4();
e10_4=1;
op=millis();
}
else if((e10_3==1)&&(digitalRead(P2)==0)&&(OP(op)))
{
e10_3=0;
E10_2();
e10_2=1;
op=millis();
}
else if((e10_3==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e10_3=0;
E10_3z();
e10_3z=1;
op=millis();
}
else if((e10_3==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_3=0;
E9_1();
e9_1=1;
op=millis();
}
if((e10_4==1)&&(digitalRead(P1)==0)&&(OP(op))) //10_4 zmiana 10_1-10_3
{
e10_4=0;
E10_1();
e10_1=1;
op=millis();
}
else if((e10_4==1)&&(digitalRead(P2)==0)&&(OP(op)))
{
e10_4=0;
E10_3();
e10_3=1;
op=millis();
}
else if((e10_4==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e10_4=0;
E10_4z();
e10_4z=1;
op=millis();
}
else if((e10_4==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_4=0;
E9_1();
e9_1=1;
op=millis();
}
if((e10_1z==1)&&(digitalRead(P2)==0)&&(OP(op))) //10_1z zmiana liczników
{
cz_12--;
E10_1z();
op=millis();
}
else if((e10_1z==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
cz_12++;
E10_1z();
op=millis();
}
else if((e10_1z==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_1z=0;
E10_1();
e10_1=1;
op=millis();
}
if((e10_2z==1)&&(digitalRead(P2)==0)&&(OP(op))) //10_2z zmiana liczników
{
cz_12++;
cz_23--;
E10_2z();
op=millis();
}
else if((e10_2z==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
cz_12--;
cz_23++;
E10_2z();
op=millis();
}
else if((e10_2z==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_2z=0;
E10_2();
e10_2=1;
op=millis();
}
if((e10_3z==1)&&(digitalRead(P2)==0)&&(OP(op))) //10_3z zmiana liczników
{
cz_23++;
cz_34--;
E10_3z();
op=millis();
}
else if((e10_3z==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
cz_23--;
cz_34++;
E10_3z();
op=millis();
}
else if((e10_3z==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_3z=0;
E10_3();
e10_3=1;
op=millis();
}
if((e10_4z==1)&&(digitalRead(P2)==0)&&(OP(op))) //10_4z zmiana liczników
{
cz_34++;
E10_4z();
op=millis();
}
else if((e10_4z==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
cz_34--;
E10_4z();
op=millis();
}
else if((e10_4z==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e10_4z=0;
E10_4();
e10_4=1;
op=millis();
}
if((e11_1==1)&&(digitalRead(P2)==0)&&(OP(op))) //11_1 zmiana 11_2-11_2
{
e11_1=0;
E11_2();
e11_2=1;
op=millis();
}
else if((e11_1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e11_1=0;
E11_2();
e11_2=1;
op=millis();
}
else if((e11_1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e11_1=0;
E9_2();
e9_2=1;
op=millis();
}
else if((e11_1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e11_1=0;
E9_2();
e9_2=1;
op=millis();
}
if((e11_2==1)&&(digitalRead(P2)==0)&&(OP(op))) //11_2 zmiana 11_1-11_1
{
e11_2=0;
E11_1();
e11_1=1;
op=millis();
}
else if((e11_2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e11_2=0;
E11_1();
e11_1=1;
op=millis();
}
else if((e11_2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e11_2=0;
cz_12=cz_23=cz_34=0;
E9_2();
e9_2=1;
op=millis();
}
else if((e11_2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e11_2=0;
E9_2();
e9_2=1;
op=millis();
}
if((e12==1)&&(digitalRead(P2)==0)&&(OP(op))) //12 zmiana 8-2
{
e12=0;
E2();
e2=1;
op=millis();
}
else if((e12==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e12=0;
E8();
e8=1;
op=millis();
}
else if((e12==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e12=0;
E13_1();
e13_1=1;
op=millis();
}
if((e13_1==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_1 zmiana 13_2-13_4
{
e13_1=0;
E13_2();
e13_2=1;
op=millis();
}
else if((e13_1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_1=0;
E13_4();
e13_4=1;
op=millis();
}
else if((e13_1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_1=0;
E13_1z1();
e13_1z1=1;
op=millis();
}
else if((e13_1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_1=0;
E12();
e12=1;
op=millis();
}
if((e13_2==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_2 zmiana 13_1-13_3
{
e13_2=0;
E13_3();
e13_3=1;
op=millis();
}
else if((e13_2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_2=0;
E13_1();
e13_1=1;
op=millis();
}
else if((e13_2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_2=0;
E13_2z1();
e13_2z1=1;
op=millis();
}
else if((e13_2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_2=0;
E12();
e12=1;
op=millis();
}
if((e13_3==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3 zmiana 13_2-13_4
{
e13_3=0;
E13_4();
e13_4=1;
op=millis();
}
else if((e13_3==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_3=0;
E13_2();
e13_2=1;
op=millis();
}
else if((e13_3==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3=0;
dd=now.day();
mm=now.month();
rrrr=now.year();
h=now.hour();
m=now.minute();
E13_3z1();
e13_3z1=1;
op=millis();
}
else if((e13_3==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_3=0;
E12();
e12=1;
op=millis();
}
if((e13_4==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_4 zmiana 13_3-13_1
{
e13_4=0;
E13_1();
e13_1=1;
op=millis();
}
else if((e13_4==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_4=0;
E13_3();
e13_3=1;
op=millis();
}
else if((e13_4==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_4=0;
E13_4z1();
e13_4z1=1;
op=millis();
}
else if((e13_4==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_4=0;
E12();
e12=1;
op=millis();
}
if((e13_1z1==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_1z1 zmiana 13_1z2-13_1z2
{
e13_1z1=0;
E13_1z2();
e13_1z2=1;
op=millis();
}
else if((e13_1z1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_1z1=0;
E13_1z2();
e13_1z2=1;
op=millis();
}
else if((e13_1z1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_1z1=0;
E13_1();
e13_1=1;
op=millis();
}
else if((e13_1z1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_1z1=0;
E13_1();
e13_1=1;
op=millis();
}
if((e13_1z2==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_1z2 zmiana 13_1z1-13_1z1
{
e13_1z2=0;
E13_1z1();
e13_1z1=1;
op=millis();
}
else if((e13_1z2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_1z2=0;
E13_1z1();
e13_1z1=1;
op=millis();
}
else if((e13_1z2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_1z2=0;
/*if(digitalRead(D1)==1)
{
N1.write(rogatki_zamkniete);
}
if(digitalRead(D2)==1)
{
N2.write(rogatki_zamkniete);
}
*/
digitalWrite(TOP1C,1);
digitalWrite(TOP2C,1);
zm=1;
zezwolenie=0;
E13_1();
e13_1=1;
op=millis();
}
else if((e13_1z2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_1z2=0;
E13_1();
e13_1=1;
op=millis();
}
if((e13_2z1==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_2z1 zmiana 13_2z2-13_2z2
{
e13_2z1=0;
E13_2z2();
e13_2z2=1;
op=millis();
}
else if((e13_2z1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_2z1=0;
E13_2z2();
e13_2z2=1;
op=millis();
}
else if((e13_2z1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_2z1=0;
E13_2();
e13_2=1;
op=millis();
}
else if((e13_2z1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_2z1=0;
E13_2();
e13_2=1;
op=millis();
}
if((e13_2z2==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_2z2 zmiana 13_2z1-13_2z1
{
e13_2z2=0;
E13_2z1();
e13_2z1=1;
op=millis();
}
else if((e13_2z2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_2z2=0;
E13_2z1();
e13_2z1=1;
op=millis();
}
else if((e13_2z2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_2z2=0;
digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(TOP1C,0);
digitalWrite(TOP2C,0);
if(digitalRead(D1)==1)
{
N1.write(rogatki_otwarte);
}
if(digitalRead(D2)==1)
{
N2.write(rogatki_otwarte);
}
zm=0;
zpbd=0;
zezwolenie=0;
E13_2();
e13_2=1;
op=millis();
}
else if((e13_2z2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_2z2=0;
E13_2();
e13_2=1;
op=millis();
}
if((e13_3z1==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3z1 zmiana 13_3z2
{
dd--;
if(dd<1)
{
dd=31;
}
E13_3z1();
op=millis();
}
else if((e13_3z1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
dd++;
if(dd>31)
{
dd=1;
}
E13_3z1();
op=millis();
}
else if((e13_3z1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3z1=0;
E13_3z2();
e13_3z2=1;
op=millis();
}
else if((e13_3z1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_3z1=0;
E13_3zp1();
e13_3zp1=1;
op=millis();
}
if((e13_3z2==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3z2 zmiana 13_3z3
{
mm--;
if(mm<1)
{
mm=12;
}
E13_3z2();
op=millis();
}
else if((e13_3z2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
mm++;
if(mm>12)
{
mm=1;
}
E13_3z2();
op=millis();
}
else if((e13_3z2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3z2=0;
E13_3z3();
e13_3z3=1;
op=millis();
}
else if((e13_3z2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_3z2=0;
E13_3zp1();
e13_3zp1=1;
op=millis();
}
if((e13_3z3==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3z3 zmiana 13_3z4
{
rrrr--;
if(rrrr<2000)
{
rrrr=2099;
}
E13_3z3();
op=millis();
}
else if((e13_3z3==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
rrrr++;
if(rrrr>2099)
{
rrrr=2000;
}
E13_3z3();
op=millis();
}
else if((e13_3z3==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3z3=0;
E13_3z4();
e13_3z4=1;
op=millis();
}
else if((e13_3z3==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_3z3=0;
E13_3zp1();
e13_3zp1=1;
op=millis();
}
if((e13_3z4==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3z4 zmiana 13_3z5
{
h--;
if(h<0)
{
h=23;
}
E13_3z4();
op=millis();
}
else if((e13_3z4==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
h++;
if(h>23)
{
h=0;
}
E13_3z4();
op=millis();
}
else if((e13_3z4==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3z4=0;
E13_3z5();
e13_3z5=1;
op=millis();
}
else if((e13_3z3==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_3z4=0;
E13_3zp1();
e13_3zp1=1;
op=millis();
}
if((e13_3z5==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3z5 zmiana 13_3z1
{
m--;
if(m<0)
{
m=59;
}
E13_3z5();
op=millis();
}
else if((e13_3z5==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
m++;
if(m>59)
{
m=0;
}
E13_3z5();
op=millis();
}
else if((e13_3z5==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3z5=0;
E13_3z1();
e13_3z1=1;
op=millis();
}
else if((e13_3z5==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_3z5=0;
E13_3zp1();
e13_3zp1=1;
op=millis();
}
if((e13_3zp1==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3zp1 zmiana 13_3zp2-13_3zp2
{
e13_3zp1=0;
E13_3zp2();
e13_3zp2=1;
op=millis();
}
else if((e13_3zp1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_3zp1=0;
E13_3zp2();
e13_3zp2=1;
op=millis();
}
else if((e13_3zp1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3zp1=0;
E13_3();
e13_3=1;
op=millis();
}
if((e13_3zp2==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_3zp2 zmiana 13_3zp1-13_3zp1
{
e13_3zp2=0;
E13_3zp1();
e13_3zp1=1;
op=millis();
}
else if((e13_3zp2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_3zp2=0;
E13_3zp1();
e13_3zp1=1;
op=millis();
}
else if((e13_3zp2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_3zp2=0;
rtc.adjust(DateTime(rrrr, mm, dd, h, m, 0));
now=rtc.now();
E13_3();
e13_3=1;
op=millis();
}
if((e13_4z1==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_4z1 zmiana 13_4z2-13_4z2
{
e13_4z1=0;
E13_4z2();
e13_4z2=1;
op=millis();
}
else if((e13_4z1==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_4z1=0;
E13_4z2();
e13_4z2=1;
op=millis();
}
else if((e13_4z1==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_4z1=0;
E13_4();
e13_4=1;
op=millis();
}
else if((e13_4z1==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_4z1=0;
E13_4();
e13_4=1;
op=millis();
}
if((e13_4z2==1)&&(digitalRead(P2)==0)&&(OP(op))) //13_4z2 zmiana 13_4z1-13_4z1
{
e13_4z2=0;
E13_4z1();
e13_4z1=1;
op=millis();
}
else if((e13_4z2==1)&&(digitalRead(P1)==0)&&(OP(op)))
{
e13_4z2=0;
E13_4z1();
e13_4z1=1;
op=millis();
}
else if((e13_4z2==1)&&(digitalRead(P3)==0)&&(OP(op)))
{
e13_4z2=0;
zezwolenie=1;
if(digitalRead(D1)==1)
{
N1.write(rogatki_otwarte);
}
if(digitalRead(D2)==1)
{
N2.write(rogatki_otwarte);
}
digitalWrite(L1,0);
digitalWrite(L2,0);
zpbd=0;
zm=0;
cz1=cz2=cz3=cz4=1;
psc1=psc2=psc3=psc4=1;
bpc1=bpc2=bpc3=bpc4=1;
cz_12=cz_23=cz_34=0;
bc1=bc2=bc3=bc4=1;
fp1=fp2=fp3=fp4=0;
jp=0;
E2();
e2=1;
op=millis();
}
else if((e13_4z2==1)&&(digitalRead(P4)==0)&&(OP(op)))
{
e13_4z2=0;
E13_4();
e13_4=1;
op=millis();
}
}
bool OP(int x)
{
if(millis()-x>=800)
{
return 1;
}
else
{
return 0;
}
}
void E1()
{
lcd.setCursor(0,0);
lcd.print("PROJEKT MAKIETY SSP");
lcd.setCursor(6,1);
lcd.print("WYKONALI");
lcd.setCursor(3,2);
lcd.print("LUGOWSKI SZYMON");
lcd.setCursor(4,3);
lcd.print("ORZOL SZYMON");
//lcd.clear();
}
int E2()
{
now = rtc.now();
lcd.setCursor(0,0);
lcd.print(" SSP km 7,312 ");
lcd.setCursor(0,1);
lcd.print(" STAN: ");
lcd.print(stan);
lcd.print(" ");
lcd.setCursor(0,2); //data
lcd.print(" ");
if(now.day()>=10)
{
lcd.print(now.day());
}
else
{
lcd.print("0");
lcd.print(now.day());
}
lcd.print(".");
if(now.month()>=10)
{
lcd.print(now.month());
}
else
{
lcd.print("0");
lcd.print(now.month());
}
lcd.print(".");
lcd.print(now.year());
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" ");
if (now.hour() >= 10) //godzina
{
lcd.print(now.hour());
}
else if (now.hour() < 10)
{
lcd.print("0");
lcd.print(now.hour());
}
lcd.print(":");
if (now.minute() >= 10)
{
lcd.print(now.minute());
}
else if (now.minute() < 10)
{
lcd.print("0");
lcd.print(now.minute());
}
lcd.print(" ");
}
int E3()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI PODGLAD ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" CZ1 CZ2 CZ3 CZ4 ");
}
int E4()
{
return 0;
}
int E5()
{
return 0;
}
int E6()
{
return 0;
}
int E7()
{
lcd.setCursor(0,0);
lcd.print("USTERKI: 1-SPR 0-UST");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" D1-");
lcd.print(digitalRead(D1));
lcd.print(" ");
lcd.print("CZ1-");
lcd.print(cz1);
lcd.print(" ");
lcd.print("CZ3-");
lcd.print(cz3);
lcd.setCursor(0,3);
lcd.print(" D2-");
lcd.print(digitalRead(D2));
lcd.print(" ");
lcd.print("CZ2-");
lcd.print(cz2);
lcd.print(" ");
lcd.print("CZ4-");
lcd.print(cz4);
}
int E8()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" LICZNIKI OSI ");
lcd.setCursor(0,2);
lcd.print(" USTAWIENIA ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E9_1()
{
lcd.setCursor(0,0);
lcd.print("LICZNIKI USTAWIENIA ");
lcd.setCursor(0,1);
lcd.write(126);
lcd.print(" SYMULACJA ");
lcd.setCursor(0,2);
lcd.print(" ZEROWANIE ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E9_2()
{
lcd.setCursor(0,0);
lcd.print("LICZNIKI USTAWIENIA ");
lcd.setCursor(0,1);
lcd.print(" SYMULACJA ");
lcd.setCursor(0,2);
lcd.write(126);
lcd.print(" ZEROWANIE ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E10_1()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.write(126);
lcd.print("CZ1 ");
lcd.print(" CZ2 ");
lcd.print(" CZ3 ");
lcd.print(" CZ4 ");
}
int E10_2()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" CZ1 ");
lcd.write(126);
lcd.print("CZ2 ");
lcd.print(" CZ3 ");
lcd.print(" CZ4 ");
}
int E10_3()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" CZ1 ");
lcd.print(" CZ2 ");
lcd.write(126);
lcd.print("CZ3 ");
lcd.print(" CZ4 ");
}
int E10_4()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" CZ1 ");
lcd.print(" CZ2 ");
lcd.print(" CZ3 ");
lcd.write(126);
lcd.print("CZ4 ");
}
int E10_1z()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.write(126);
lcd.print("CZ1");
lcd.write(127);
lcd.print(" CZ2 ");
lcd.print(" CZ3 ");
lcd.print(" CZ4 ");
}
int E10_2z()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" CZ1 ");
lcd.write(126);
lcd.print("CZ2");
lcd.write(127);
lcd.print(" CZ3 ");
lcd.print(" CZ4 ");
}
int E10_3z()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" CZ1 ");
lcd.print(" CZ2 ");
lcd.write(126);
lcd.print("CZ3");
lcd.write(127);
lcd.print(" CZ4 ");
}
int E10_4z()
{
lcd.setCursor(0,0);
lcd.print(" LICZNIKI SYMULACJA ");
lcd.setCursor(0,1);
lcd.print(" ");
if(cz_12>=10)
{
lcd.print(" ");
lcd.print(cz_12);
}
else if((cz_12<10)&&(cz_12>=0))
{
lcd.print(" 0");
lcd.print(cz_12);
}
else if((cz_12<0)&&(cz_12>-10))
{
lcd.print(" ");
lcd.print(cz_12);
}
else if(cz_12<=-10)
{
lcd.print(cz_12);
}
lcd.print(" ");
if(cz_23>=10)
{
lcd.print(" ");
lcd.print(cz_23);
}
else if((cz_23<10)&&(cz_23>=0))
{
lcd.print(" 0");
lcd.print(cz_23);
}
else if((cz_23<0)&&(cz_23>-10))
{
lcd.print(" ");
lcd.print(cz_23);
}
else if(cz_23<=-10)
{
lcd.print(cz_23);
}
lcd.print(" ");
if(cz_34>=10)
{
lcd.print(" ");
lcd.print(cz_34);
}
else if((cz_34<10)&&(cz_34>=0))
{
lcd.print(" 0");
lcd.print(cz_34);
}
else if((cz_34<0)&&(cz_34>-10))
{
lcd.print(" ");
lcd.print(cz_34);
}
else if(cz_34<=-10)
{
lcd.print(cz_34);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print(" CZ1 ");
lcd.print(" CZ2 ");
lcd.print(" CZ3 ");
lcd.write(126);
lcd.print("CZ4");
lcd.write(127);
}
int E11_1()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY WYZEROWAC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.write(126);
lcd.print("NIE ");
lcd.print(" TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E11_2()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY WYZEROWAC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.print("NIE ");
lcd.write(126);
lcd.print("TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E12()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" USTAWIENIA ");
lcd.setCursor(0,2);
lcd.print(" OGOLNE ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_1()
{
lcd.setCursor(0,0);
lcd.print("USTAWIENIA: ");
lcd.setCursor(0,1);
lcd.print(" ");
lcd.write(126);
lcd.print("ZAMYKANIE RECZNE ");
lcd.setCursor(0,2);
lcd.print(" OTWIERANIE RECZNE ");
lcd.setCursor(0,3);
lcd.print(" DATA i CZAS ");
}
int E13_2()
{
lcd.setCursor(0,0);
lcd.print("USTAWIENIA: ");
lcd.setCursor(0,1);
lcd.print(" ZAMYKANIE RECZNE ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.write(126);
lcd.print("OTWIERANIE RECZNE ");
lcd.setCursor(0,3);
lcd.print(" DATA i CZAS ");
}
int E13_3()
{
lcd.setCursor(0,0);
lcd.print("USTAWIENIA: ");
lcd.setCursor(0,1);
lcd.print(" OTWIERANIE RECZNE ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.write(126);
lcd.print("DATA I CZAS ");
lcd.setCursor(0,3);
lcd.print(" RESTART ");
}
int E13_4()
{
lcd.setCursor(0,0);
lcd.print("USTAWIENIA: ");
lcd.setCursor(0,1);
lcd.print(" OTWIERANIE RECZNE ");
lcd.setCursor(0,2);
lcd.print(" DATA I CZAS ");
lcd.setCursor(0,3);
lcd.print(" ");
lcd.write(126);
lcd.print("RESTART ");
}
int E13_1z1()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY ZAMKNAC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.write(126);
lcd.print("NIE ");
lcd.print(" TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_1z2()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY ZAMKNAC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.print("NIE ");
lcd.write(126);
lcd.print("TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_2z1()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY OTWORZYC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.write(126);
lcd.print("NIE ");
lcd.print(" TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_2z2()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY OTWORZYC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.print("NIE ");
lcd.write(126);
lcd.print("TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_3z1()
{
lcd.setCursor(0,0);
lcd.print("DATA I CZAS ");
lcd.setCursor(0,1); //data
lcd.print(" ");
if(dd>=10)
{
lcd.print(dd);
}
else
{
lcd.print("0");
lcd.print(dd);
}
lcd.print(".");
if(mm>=10)
{
lcd.print(mm);
}
else
{
lcd.print("0");
lcd.print(mm);
}
lcd.print(".");
lcd.print(rrrr);
lcd.print(" ");
if (h >= 10) //godzina
{
lcd.print(h);
}
else if (h < 10)
{
lcd.print("0");
lcd.print(h);
}
lcd.print(":");
if (m >= 10)
{
lcd.print(m);
}
else if (m < 10)
{
lcd.print("0");
lcd.print(m);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ^^ ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_3z2()
{
lcd.setCursor(0,0);
lcd.print("DATA I CZAS ");
lcd.setCursor(0,1); //data
lcd.print(" ");
if(dd>=10)
{
lcd.print(dd);
}
else
{
lcd.print("0");
lcd.print(dd);
}
lcd.print(".");
if(mm>=10)
{
lcd.print(mm);
}
else
{
lcd.print("0");
lcd.print(mm);
}
lcd.print(".");
lcd.print(rrrr);
lcd.print(" ");
if (h >= 10) //godzina
{
lcd.print(h);
}
else if (h < 10)
{
lcd.print("0");
lcd.print(h);
}
lcd.print(":");
if (m >= 10)
{
lcd.print(m);
}
else if (m < 10)
{
lcd.print("0");
lcd.print(m);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ^^ ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_3z3()
{
lcd.setCursor(0,0);
lcd.print("DATA I CZAS ");
lcd.setCursor(0,1); //data
lcd.print(" ");
if(dd>=10)
{
lcd.print(dd);
}
else
{
lcd.print("0");
lcd.print(dd);
}
lcd.print(".");
if(mm>=10)
{
lcd.print(mm);
}
else
{
lcd.print("0");
lcd.print(mm);
}
lcd.print(".");
lcd.print(rrrr);
lcd.print(" ");
if (h >= 10) //godzina
{
lcd.print(h);
}
else if (h < 10)
{
lcd.print("0");
lcd.print(h);
}
lcd.print(":");
if (m >= 10)
{
lcd.print(m);
}
else if (m < 10)
{
lcd.print("0");
lcd.print(m);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ^^^^ ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_3z4()
{
lcd.setCursor(0,0);
lcd.print("DATA I CZAS ");
lcd.setCursor(0,1); //data
lcd.print(" ");
if(dd>=10)
{
lcd.print(dd);
}
else
{
lcd.print("0");
lcd.print(dd);
}
lcd.print(".");
if(mm>=10)
{
lcd.print(mm);
}
else
{
lcd.print("0");
lcd.print(mm);
}
lcd.print(".");
lcd.print(rrrr);
lcd.print(" ");
if (h >= 10) //godzina
{
lcd.print(h);
}
else if (h < 10)
{
lcd.print("0");
lcd.print(h);
}
lcd.print(":");
if (m >= 10)
{
lcd.print(m);
}
else if (m < 10)
{
lcd.print("0");
lcd.print(m);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ^^ ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_3z5()
{
lcd.setCursor(0,0);
lcd.print("DATA I CZAS ");
lcd.setCursor(0,1); //data
lcd.print(" ");
if(dd>=10)
{
lcd.print(dd);
}
else
{
lcd.print("0");
lcd.print(dd);
}
lcd.print(".");
if(mm>=10)
{
lcd.print(mm);
}
else
{
lcd.print("0");
lcd.print(mm);
}
lcd.print(".");
lcd.print(rrrr);
lcd.print(" ");
if (h >= 10) //godzina
{
lcd.print(h);
}
else if (h < 10)
{
lcd.print("0");
lcd.print(h);
}
lcd.print(":");
if (m >= 10)
{
lcd.print(m);
}
else if (m < 10)
{
lcd.print("0");
lcd.print(m);
}
lcd.print(" ");
lcd.setCursor(0,2);
lcd.print(" ^^ ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_3zp1()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY ZAPISAC DATE? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.write(126);
lcd.print("NIE ");
lcd.print(" TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_3zp2()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY ZAPISAC DATE? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.print("NIE ");
lcd.write(126);
lcd.print("TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_4z1()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY ZRESTARTOWAC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.write(126);
lcd.print("NIE ");
lcd.print(" TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}
int E13_4z2()
{
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" CZY ZRESTARTOWAC? ");
lcd.setCursor(0,2);
lcd.print(" ");
lcd.print("NIE ");
lcd.write(126);
lcd.print("TAK ");
lcd.setCursor(0,3);
lcd.print(" ");
}SS11
SS41
SS31
SS21
SS12
SS22
SS32
SS42
L1
L2
L2
L1
S1
S2
P1 (GÓRA/PRAWO)
P3 (ZATWIERDŹ)
P4 (COFNIJ)
P2 (DÓŁ/LEWO)
TOP1B
TOP1C
TOP2B
TOP2C
N2
N1
open
close