const int closerpin = 3; const int openerpin = 4; const int autopin = 7; const int closemotorpin= 10; const int openmotorpin= 12; const int sensorpin= 5; int openstate = 0; int closestate = 0; int autostate = 0; int sensorstate = 0; void setup(){ pinMode(closerpin, INPUT); pinMode(openerpin, INPUT); pinMode(closemotorpin, OUTPUT); pinMode(openmotorpin, OUTPUT); pinMode(autopin, INPUT); pinMode(sensorpin, OUTPUT); Serial.begin(9600); } void loop(){ sensorstate = digitalRead(sensorpin); autostate = digitalRead(autopin); openstate = digitalRead(openerpin); closestate = digitalRead(closerpin); if (openstate == HIGH) { stageOne(); } else { stageTwo(); } } void stageOne(){ sensorstate = digitalRead(sensorpin); autostate = digitalRead(autopin); openstate = digitalRead(openerpin); closestate = digitalRead(closerpin); digitalWrite(openmotorpin, HIGH); delay(8000); digitalWrite(openmotorpin, LOW); stageTwo(); } //open void stageTwo() { sensorstate = digitalRead(sensorpin); autostate = digitalRead(autopin); openstate = digitalRead(openerpin); closestate = digitalRead(closerpin); if (autostate == HIGH) { stageFour(); } else if (closestate == HIGH) { stageThree(); } else { stageTwo(); } } //close n auto check void stageThree() { sensorstate = digitalRead(sensorpin); autostate = digitalRead(autopin); openstate = digitalRead(openerpin); closestate = digitalRead(closerpin); digitalWrite(closemotorpin, HIGH); delay(8000); digitalWrite(closemotorpin, LOW); stageFive(); } //close void stageFour() { sensorstate = digitalRead(sensorpin); autostate = digitalRead(autopin); openstate = digitalRead(openerpin); closestate = digitalRead(closerpin); if (sensorstate == HIGH){ digitalWrite(closemotorpin, HIGH); delay(8000); digitalWrite(closemotorpin, LOW); stageSeven(); } else if (closestate == HIGH){ stageThree(); } else if (openstate == HIGH) { stageOne(); } else if (sensorstate == LOW){ stageFour(); } } void stageFive() { sensorstate = digitalRead(sensorpin); autostate = digitalRead(autopin); openstate = digitalRead(openerpin); closestate = digitalRead(closerpin); if (openstate == HIGH) { stageOne(); } else if (autostate == HIGH) { stageFour(); } else { stageFive(); } } //open n auto check void stageSeven(){ if (sensorstate == LOW){ digitalWrite(openmotorpin, HIGH); delay(8000); digitalWrite(openmotorpin, LOW); if (closestate == HIGH){ stageThree(); } else if (sensorstate == HIGH) { digitalWrite(closemotorpin, HIGH); stageSeven(); } else{ stageSeven(); } } else if (openstate == HIGH) { stageOne(); } else{ stageSeven(); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)