//Festlegung der Variaablen bzw. I/O auf dem Board //-----Antriebe--------- int AUF1 = 23; // Einlesekanal Schranke Auf (BOM1) int ZU1 = 22; // Einlesekanal Schranke ZU (BOM1) int AUF2 = 3; // Einlesekanal Schranke Auf (BOM2) int ZU2 = 2; // Einlesekanal Schranke ZU (BOM2) int AUF3 = 25; // Einlesekanal Schranke Auf (BOM3) int ZU3 = 24; // Einlesekanal Schranke ZU (BOM3) int AUF4 = 21; // Einlesekanal Schranke Auf (BOM4) int ZU4 = 20; // Einlesekanal Schranke ZU (BOM4) int AUF5 = 27; // Einlesekanal Schranke Auf (BOM5) int ZU5 = 26; // Einlesekanal Schranke ZU (BOM5) int AUF6 = 29; // Einlesekanal Schranke Auf (BOM6) int ZU6 = 28; // Einlesekanal Schranke ZU (BOM6) int x = 2; int y = 2; int z = 2; int xy = 2; int zy = 2; int xyz = 2; int Laufzeit = 5000; // Schrankenlaufzeit unsigned long premil = 0; unsigned long premil1 = 0; unsigned long premil2 = 0; unsigned long premil3 = 0; unsigned long premil4 = 0; unsigned long premil5 = 0; unsigned long premil6 = 0; unsigned long premil7 = 0; unsigned long premil8 = 0; unsigned long premil9 = 0; unsigned long premil10 = 0; unsigned long premil11 = 0; //---------Detektoren-------- int SP1 = 42 ; // Kurzschlussschleife 1 int SP2 = 43 ; // Kurzschlussschleife 2 int SP3 = 44 ; // Kurzschlussschleife 3 int SP4 = 45 ; // Kurzschlussschleife 4 int SP5 = 46 ; // Kurzschlussschleife 5 int SP6 = 47 ; // Kurzschlussschleife 6 int TEST = 48 ; // Testsignal int TESTLED = 17; int BLOCK1 = 49; // Kurzschlussschleife Blockierung 1 int BLOCK2 = 50; // Kurzschlussschleife Blockierung 2 void setup() { //-----Antriebe---------- pinMode(AUF1, INPUT_PULLUP); pinMode(ZU1, INPUT_PULLUP); pinMode(AUF2, INPUT_PULLUP); pinMode(ZU2, INPUT_PULLUP); pinMode(AUF3, INPUT_PULLUP); pinMode(ZU3, INPUT_PULLUP); pinMode(AUF4, INPUT_PULLUP); pinMode(ZU4, INPUT_PULLUP); pinMode(AUF5, INPUT_PULLUP); pinMode(ZU5, INPUT_PULLUP); pinMode(AUF6, INPUT_PULLUP); pinMode(ZU6, INPUT_PULLUP); pinMode(30, OUTPUT); //Auf BOM 1 pinMode(31, OUTPUT); //Zu BOM 1 pinMode(32, OUTPUT); //Lauf BOM 1 pinMode(4, OUTPUT); //Auf BOM 2 pinMode(5, OUTPUT); //Zu BOM 2 pinMode(6, OUTPUT); //Lauf BOM 2 pinMode(33, OUTPUT); //Auf BOM 3 pinMode(34, OUTPUT); //Zu BOM 3 pinMode(35, OUTPUT); //Lauf BOM 3 pinMode(36, OUTPUT); //Auf BOM 4 pinMode(37, OUTPUT); //Zu BOM 4 pinMode(38, OUTPUT); //Lauf BOM 4 pinMode(39, OUTPUT); //Auf BOM 5 pinMode(40, OUTPUT); //Zu BOM 5 pinMode(41, OUTPUT); //Lauf BOM 5 pinMode(14, OUTPUT); //Auf BOM 6 pinMode(15, OUTPUT); //Zu BOM 6 pinMode(16, OUTPUT); //Lauf BOM 6 digitalWrite(30, HIGH); //Auf BOM 1 digitalWrite(4, HIGH); //Auf BOM 2 digitalWrite(33, HIGH); //Auf BOM 3 digitalWrite(36, HIGH); //Auf BOM 4 digitalWrite(39, HIGH); //Auf BOM 5 digitalWrite(14, HIGH); //Auf BOM 6 //-----Detektoren-------- pinMode(SP1, OUTPUT); pinMode(SP2, OUTPUT); pinMode(SP3, OUTPUT); pinMode(SP4, OUTPUT); pinMode(SP5, OUTPUT); pinMode(SP6, OUTPUT); pinMode(TEST, INPUT); pinMode(TESTLED, OUTPUT); pinMode(BLOCK1, INPUT); pinMode(BLOCK2, INPUT); } void loop() { unsigned long curmil = millis(); //---------LED-Steuerung-BOM1------------------------------------------------------------------------------------- int AUF10 = digitalRead(AUF1); int ZU10 = digitalRead(ZU1); int AUF11 = digitalRead(30); int ZU11 = digitalRead(31); //if(AUF11 == LOW){ if (AUF10 == HIGH) { digitalWrite(32, HIGH); //Schrankenlauf digitalWrite(30, LOW); digitalWrite(31, LOW); if (curmil - premil >= Laufzeit) { premil = curmil; digitalWrite(30, HIGH); //Auf digitalWrite(31, LOW); digitalWrite(32, LOW); } } //} //if (ZU11 == LOW){ if (ZU10 == HIGH) { digitalWrite(32, HIGH); //Schrankenlauf digitalWrite(30, LOW); digitalWrite(31, LOW); if (curmil - premil1 >= Laufzeit) { premil1 = curmil; digitalWrite(31, HIGH); //Zu digitalWrite(30, LOW); digitalWrite(32, LOW); } } //} //---------LED-Steuerung-BOM2------------------------------------------------------------------------------------- int AUF20 = digitalRead(AUF2); int ZU20 = digitalRead(ZU2); int AUF22 = digitalRead(4); int ZU22 = digitalRead(5); //if (AUF22 == LOW) { if (AUF20 == HIGH) { digitalWrite(6, HIGH); //Schrankenlauf digitalWrite(5, LOW); digitalWrite(4, LOW); if (curmil - premil2 >= Laufzeit) { premil2 = curmil; digitalWrite(4, HIGH); //Auf digitalWrite(5, LOW); digitalWrite(6, LOW); } } //} //if ( ZU22 == LOW){ if (ZU20 == HIGH) { digitalWrite(6, HIGH); //Schrankenlauf digitalWrite(5, LOW); digitalWrite(4, LOW); if (curmil - premil3 >= Laufzeit) { premil3 = curmil; digitalWrite(5, HIGH); //Zu digitalWrite(6, LOW); digitalWrite(4, LOW); } } //} //----------LED-Steuerung-BOM3------------------------------------------------------------------------------------ int AUF30 = digitalRead(AUF3); int ZU30 = digitalRead(ZU3); int AUF33 = digitalRead(33); int ZU33 = digitalRead(34); //if (AUF33 == LOW){ if (AUF30 == HIGH) { digitalWrite(35, HIGH); //Schrankenlauf digitalWrite(33, LOW); digitalWrite(34, LOW); if (curmil - premil4 >= Laufzeit) { premil4 = curmil; digitalWrite(33, HIGH); //Auf digitalWrite(34, LOW); digitalWrite(35, LOW); } } //} //if (ZU33==LOW){ if (ZU30 == HIGH) { digitalWrite(35, HIGH); //Schrankenlauf digitalWrite(34, LOW); digitalWrite(33, LOW); if (curmil - premil5 >= Laufzeit) { premil5 = curmil; digitalWrite(34, HIGH); //Zu digitalWrite(33, LOW); digitalWrite(35, LOW); } } //} //---------LED-Steuerung-BOM4------------------------------------------------------------------------------------- int AUF40 = digitalRead(AUF4); int ZU40 = digitalRead(ZU4); int AUF44 = digitalRead(36); int ZU44 = digitalRead(37); //if (AUF44 == LOW){ if (AUF40 == HIGH) { digitalWrite(38, HIGH); //Schrankenlauf digitalWrite(37, LOW); digitalWrite(36, LOW); if (curmil - premil6 >= Laufzeit) { premil6 = curmil; digitalWrite(36, HIGH); //Auf digitalWrite(37, LOW); digitalWrite(38, LOW); z = 90; } } //} //if (ZU44 == LOW){ if (ZU40 == HIGH) { digitalWrite(38, HIGH); //Schrankenlauf digitalWrite(36, LOW); digitalWrite(37, LOW); if (curmil - premil7 >= Laufzeit) { premil7 = curmil; digitalWrite(37, HIGH); //Zu digitalWrite(36, LOW); digitalWrite(38, LOW); } } //} //---------LED-Steuerung-BOM5------------------------------------------------------------------------------------- int AUF50 = digitalRead(AUF5); int ZU50 = digitalRead(ZU5); int AUF55 = digitalRead(39); int ZU55 = digitalRead(40); // if ( AUF55 == LOW) { if (AUF50 == HIGH) { digitalWrite(41, HIGH); //Schrankenlauf digitalWrite(39, LOW); digitalWrite(40, LOW); if (curmil - premil8 >= Laufzeit) { premil8 = curmil; digitalWrite(39, HIGH); //Auf digitalWrite(40, LOW); digitalWrite(41, LOW); } } // } //if (ZU55 == LOW){ if (ZU50 == HIGH) { digitalWrite(41, HIGH); //Schrankenlauf digitalWrite(40, LOW); digitalWrite(39, LOW); if (curmil - premil9 >= Laufzeit) { premil9 = curmil; digitalWrite(40, HIGH); //Zu digitalWrite(39, LOW); digitalWrite(41, LOW); } } //} //----------LED-Steuerung-BOM6------------------------------------------------------------------------------------ int AUF60 = digitalRead(AUF6); int ZU60 = digitalRead(ZU6); int AUF66 = digitalRead(14); int ZU66 = digitalRead(15); //if (AUF66 == LOW){ if (AUF60 == HIGH) { digitalWrite(16, HIGH); //Schrankenlauf digitalWrite(14, LOW); digitalWrite(15, LOW); if (curmil - premil10 >= Laufzeit) { premil10 = curmil; digitalWrite(14, HIGH); //Auf digitalWrite(15, LOW); digitalWrite(16, LOW); } } //} //if (ZU66 ==LOW){ if (ZU60 == HIGH) { digitalWrite(16, HIGH); //Schrankenlauf digitalWrite(15, LOW); digitalWrite(14, LOW); if (curmil - premil11 >= Laufzeit) { premil11 = curmil; digitalWrite(15, HIGH); //Zu digitalWrite(16, LOW); digitalWrite(14, LOW); } } //} //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //--------------Straßendetektor------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ int BLOCK10 = digitalRead(BLOCK1); int BLOCK20 = digitalRead(BLOCK2); int TEST1 = digitalRead(TEST); if (TEST1 == HIGH) { digitalWrite(TESTLED, HIGH); } else { digitalWrite(TESTLED, LOW); } if (TEST1 == HIGH) { digitalWrite(SP1, HIGH); // "Klimpern" digitalWrite(SP2, HIGH); // "Klimpern" digitalWrite(SP3, HIGH); // "Klimpern" digitalWrite(SP4, HIGH); // "Klimpern" digitalWrite(SP5, HIGH); // "Klimpern" digitalWrite(SP6, HIGH); // "Klimpern" } else { digitalWrite(SP1, LOW); // "Klimpern" digitalWrite(SP2, LOW); // "Klimpern" digitalWrite(SP3, LOW); // "Klimpern" digitalWrite(SP4, LOW); // "Klimpern" digitalWrite(SP5, LOW); // "Klimpern" digitalWrite(SP6, LOW); // "Klimpern" } //if (BLOCK10 == HIGH) { // // digitalWrite(SP1, HIGH); // Schleife 1 Blockieren //} // // //if (BLOCK20 == HIGH) { // // digitalWrite(SP2, HIGH); // Schleife 2 Blockieren //} // }