#define Q0 A0 // (A) Leistungsschütz für Motor Rechtslauf (hoch)
#define Q1 A1 // (A) Leistungsschütz für Motor Linkslauf (runter)
#define B0 2 // (E) Endschalter oben
#define B1 3 // (E) Endschalter unten
#define B2 4 // (E) Schutzkontakt im Gummiband
#define S1 5 // (E) Taster hoch
#define S2 6 // (E) Taster runter
#define S0 7 // (E) Schalter - Automatik
void setup()
{
pinMode(Q0, OUTPUT);
pinMode(Q1, OUTPUT);
pinMode(B0, INPUT_PULLUP);
pinMode(B1, INPUT_PULLUP);
pinMode(B2, INPUT_PULLUP);
pinMode(S1, INPUT_PULLUP);
pinMode(S2, INPUT_PULLUP);
pinMode(S0, INPUT_PULLUP);
}
void loop()
{
if ((digitalRead(S1) == LOW) && (digitalRead(S2) == LOW)) // Wenn Taster(hoch) und Taster(runter) gleichzeitig gedruckt werden...
{
digitalWrite(Q0, LOW);
digitalWrite(Q1, LOW); // ... Turen bleiben stehen.
}
else if (digitalRead(S1) == LOW) // Wenn Taster (hoch) gedruckt wird...
{
digitalWrite(Q0, HIGH); // ... Tur fahrt hoch.
while (digitalRead(B0) == HIGH)
{
if (digitalRead(B0) == LOW) // Wenn das Tur den Endschalter B0 erreicht hat..
{
digitalWrite(Q0, LOW); // ... Tur bleibt stehen.
}
}
}
else if (digitalRead(S2) == LOW) // Wenn Taster (runter) gedruckt wird...
{
digitalWrite(Q1, HIGH); // ... Tur fahrt runter.
while (digitalRead(B1) == HIGH)
{
if (digitalRead(B1) == LOW) // Wenn das Tur den Endschalter B1 erreicht hat..
{
digitalWrite(Q1, LOW); // ... Tur bleibt stehen.
}
}
}
}
OBEN= 0, UNTEN=1