#define type 1 /* * 1: for the step2.1 Standard conditions * 2: for the step2.2 Sporadically uncontrollable conditions */ #define freq_i 2 // frequency of inverse; int counter_open; void setup() { Serial.begin(9600); pinMode(12, OUTPUT); //output close signal to the board pinMode(13, OUTPUT); //output open signal to the board pinMode(2, OUTPUT); //output signal to the close botton pinMode(4, OUTPUT); //output signal to the open botton pinMode(7, INPUT); //input signal from the close botton pinMode(8, INPUT); //input signal from the open botton digitalWrite(2, HIGH); //always HIGH digitalWrite(4, HIGH); //always HIGH counter_open = 1; } void loop() { int val_7 = LOW; int val_8 = LOW; val_7 = digitalRead(7); Serial.print("pin 7 = "); Serial.println(val_7); val_8 = digitalRead(8); Serial.print("pin 8 = "); Serial.println(val_8); if(type==1){ if((val_7 == HIGH) && (val_8 != HIGH)){ for(int i=0; i<256; i++){ digitalWrite(12, HIGH); val_7 = digitalRead(7); Serial.println(val_7); if(val_7 == LOW){ digitalWrite(12, LOW); break; } } } else if((val_8 == HIGH) && (val_7 != HIGH)){ for(int i=0; i<256; i++){ digitalWrite(13, HIGH); val_8 = digitalRead(8); Serial.println(val_8); if(val_8 == LOW){ digitalWrite(13, LOW); counter_open += 1; break; } } } else{ digitalWrite(12, LOW); digitalWrite(13, LOW); } else if(type==2){ if((val_7 == HIGH) && (val_8 != HIGH)){ int pinno= random(12, 14); for(int i=0; i<256; i++){ digitalWrite(pinno, HIGH); val_7 = digitalRead(7); Serial.println(val_7); if(val_7 == LOW){ digitalWrite(pinno, LOW); break; } } } else if((val_8 == HIGH) && (val_7 != HIGH)){ int pinno= random(12, 14); for(int i=0; i<256; i++){ digitalWrite(pinno, HIGH); val_8 = digitalRead(8); Serial.println(val_8); if(val_8 == LOW){ digitalWrite(pinno, LOW); break; } } } else{ digitalWrite(12, LOW); digitalWrite(13, LOW); } } else{ //for the safe digitalWrite(12, LOW); digitalWrite(13, LOW); } }