Tak jsem to zatím provizorně vyřešil bez možnosti zastavení a jdu studovat jak to udělat bez DELAY, aby to testovalo tlačítka a v budoucnu hlídalo další dvě koncová čidla, která mám zatím v silové části .
//ovladani brany casovym spinanim bez moznosti vypnuti behem cyklu
//koncove polohy jsou resene v silove casti
//cislo tlacitka pro otevreni
int tlacitko1 = 13;
//cislo tlacitka pro zavreni
int tlacitko2 = 12;
//cislo pinu rele otevreni
int rele1 = 11;
//cislo pinu rele zavreni
int rele2 = 10;
//promenne uchovavjici stav tlacitek
int tlacitko1Stav = 0;
int tlacitko2Stav = 0;
void setup() {
pinMode(tlacitko1, INPUT);
pinMode(tlacitko2, INPUT);
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
//vypnuti obou rele
digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
}
void loop() {
//nacteni stavu tlacitek
tlacitko1Stav = digitalRead(tlacitko1);
tlacitko2Stav = digitalRead(tlacitko2);
//kontrola tlacitek
if (tlacitko1Stav == HIGH){
digitalWrite(rele1, LOW);//zapne rele1
delay(30000);
}
//kdyz neni tlacitko sepnute rele je vypnute
digitalWrite(rele1, HIGH);
if (tlacitko2Stav == HIGH){
digitalWrite(rele2, LOW);//zapne rele1
delay(30000);
}
//kdyz neni tlacitko sepnute rele je vypnute
digitalWrite(rele2, HIGH);
}