#define B_0 2
#define B_1 3
#define B_2 4
#define S1 5
#define S2 6
#define S0 7
#define Q0 A0
#define Q1 A1
void setup() { // Legen eingänge und Ausgänge Fest
pinMode(S0, INPUT);
pinMode(S1, INPUT);
pinMode(S2, INPUT);
pinMode(B_0, INPUT);
pinMode(B_1, INPUT);
pinMode(B_2, INPUT);
pinMode(Q0, OUTPUT);
pinMode(Q1, OUTPUT);
}
void loop() {
if(digitalRead(B_2) == HIGH){
digitalWrite(Q0, LOW);
digitalWrite(Q1, LOW);
}
else{
if(digitalRead(S0) == HIGH){
if((digitalRead(S1) == HIGH) && (digitalRead(B_0) == LOW)){ // Bedingung S1 = High und B0 = Low
digitalWrite(Q0, HIGH); // Q0 = High
while(digitalRead(B_0) == HIGH);
digitalWrite(Q0, LOW); // Q0 = Low
}
else if((digitalRead(S2) == HIGH) && (digitalRead(B_1) == LOW)){ // Bedingung S2 = High und B1 = Low
digitalWrite(Q1, HIGH); // Q1 = High
while(digitalRead(B_1) == HIGH);
digitalWrite(Q1, LOW); // Q1 = Low
}
else{ // Wenn bedingung nicht eintritt
digitalWrite(Q0, LOW); // Q0 = Low
digitalWrite(Q1, LOW); // Q1 = Low
}
}
if(digitalRead(S0) == LOW){
if((digitalRead(S1) == HIGH) && (digitalRead(B_0) == LOW)){ // Bedingung S1 = High und B0 = Low
digitalWrite(Q0, HIGH); // Q0 = High
while(digitalRead(S1) == HIGH);
digitalWrite(Q0, LOW); // Q0 = Low
}
else if((digitalRead(S2) == HIGH) && (digitalRead(B_1) == LOW)){ // Bedingung S2 = High und B1 = Low
digitalWrite(Q1, HIGH); // Q1 = High
while(digitalRead(S2) == HIGH); // solange B1 = low geht Schranke runter
digitalWrite(Q1, LOW); // Q1 = Low
}
else{ // Wenn bedingung nicht eintritt
digitalWrite(Q0, LOW); // Q0 = Low
digitalWrite(Q1, LOW); // Q1 = Low
}
}
}
}
OBEN= 0, UNTEN=1