// Zuordnung der Variablenbezeichner der Ein- und Ausgaenge des Arduinos
#define S0_1 2
#define S1_2 3
#define S2_0 4
#define Q1 10
#define Q2 11
void setup() {
Serial.begin(9600);
pinMode(S0_1,INPUT_PULLUP);
pinMode(S1_2,INPUT_PULLUP);
pinMode(S2_0,INPUT_PULLUP);
pinMode(Q1,OUTPUT);
pinMode(Q2,OUTPUT);
}
int schritt = 0;
void loop ()
{
//Main
switch(schritt)
{
case 0: //Grundschritt
Serial.println("Sie befinden sich im Grundschritt.");
if(digitalRead(S0_1)==HIGH)
schritt = 1;
break;
case 1: //1 Schritt
Serial.println("Sie befinden sich im Schritt 1.");
if(digitalRead(S1_2)==HIGH)
schritt = 2;
break;
case 2: // 2 Schritt
Serial.println("Sie befinden sich im Schritt 2.");
if(digitalRead(S2_0)==HIGH)
schritt = 0;
break;
default: // Wenn undefinierte Schritte abgefragt werden.
Serial.println("Hier ist ein Fehler unterlaufen. Default.");
break;
}//ende switch
//Definition der zugehörigen Aktionen
//Q1 und Q2 sind nicht gespeichert
if(schritt == 1)
digitalWrite(Q1, HIGH);
else
digitalWrite(Q1, LOW);
if(schritt == 2)
digitalWrite(Q2, HIGH);
else
digitalWrite(Q2, LOW);
}//ende loop