/*
Debugfunktion:
Eingang 8 gegen GND legen und div. Status wird im geöffneten Windows-Editor ausgegeben.
Resetfunktion:
Träger in Vorrichtung auf Einlegeposition drehen und Taste (Eingang (15) gegen GND) mindestens 5 betätigen , Taster loslassen,
nach ca. 5 Sekunden kann der Montagezyklus neu begonnen werden.
*/
//#include "Keyboard.h"//
// Eingänge
#define eingang1 2
#define eingang2 3
#define eingang3 4
#define eingang4 5
#define eingang5 6
#define eingang6 7
#define eingang7 8
#define eingang8 9
#define eingang9 10
#define eingang10 11
//Ausgänge
#define Freigabe 12
int Stufe = 0;
int codeSpeicher = 0;
/*
String ts0 = "SteuergerätUndStopfenVorh";
String ts1 = "linkerSteckerVorh";
String ts2 = "rechterSteckerVorh";
String ts3= "SteckdoseVorh";
String ts4 = "Dummy ok";
String ts5 = "Kappe vorh";
String ts6 = "kein Stopfen erkannt";
*/
void setup() {
//Eingänge
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
//Ausgänge
pinMode(12, OUTPUT);
/*
int in1 = digitalRead(2);
int in2 = digitalRead(3);
int in3 = digitalRead(4);
int in4 = digitalRead(5);
int in5 = digitalRead(6);
int in6 = digitalRead(7);
int in7 = digitalRead(8);
int in8 = digitalRead(9);
int in9 = digitalRead(10);
int in10 = digitalRead(11);
int s1 = !in1 * 1;
int s2 = !in2 * 2;//Wenn i1 == 0, ist !i1 = 1, also s1 = 1 * 2 = 2
int s3 = !in3 * 4;
int s4 = !in4 * 8;
int s5 = !in5 * 16;
int s6 = !in6 * 32;
int s7 = !in7 * 64;
int s8 = !in8 * 128;
int s9 = !in9 * 256;
int s10 = !in10 * 512;
int codeStufe = Stufe * 1024;
int code = s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9 + 10 + codeStufe;
delay(500);
*/
Serial.begin(9600);//
}
void loop() {
//int var = 6;
// lese Eingänge und rechne code "eingangsbelegung" fest:
int in1 = digitalRead(2);
int in2 = digitalRead(3);
int in3 = digitalRead(4);
int in4 = digitalRead(5);
int in5 = digitalRead(6);
int in6 = digitalRead(7);
int in7 = digitalRead(8);
int in8 = digitalRead(9);
int in9 = digitalRead(10);
int in10 = digitalRead(11);
int s1 = !in1 * 1;
int s2 = !in2 * 2;//Wenn i1 == 0, ist !i1 = 1, also s1 = 1 * 2 = 2
int s3 = !in3 * 4;
int s4 = !in4 * 8;
int s5 = !in5 * 16;
int s6 = !in6 * 32;
int s7 = !in7 * 64;
int s8 = !in8 * 128;
int s9 = !in9 * 256;
int s10 = !in10 * 512;
Serial.println("anfang");
Serial.println(s1);
Serial.println(s2);
Serial.println(s3);
Serial.println(s4);
Serial.println(s5);
Serial.println(s6);
Serial.println(s7);
Serial.println(s10);
// Serial.println("codeStufe: ");
int codeStufe = Stufe * 1024;
//Serial.println(codeStufe);
int code = s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9 + s10 + codeStufe;
Serial.println("code: ");
Serial.println(code);
if (code > 0 && code < 1024) { Stufe = 1; }
//Serial.println("codeStufe: ");
// Serial.println(codeStufe);
delay(1000);
if (code == 1024) {
Stufe = 0;
digitalWrite(Freigabe, HIGH);
}
delay(3000);
}