// Eingänge
#define GesamtIOKamera 10
#define LTStopfen 9
//#define KameraBusy 16;wird nicht gebraucht
#define Taster 11
#define debug 8
//Ausgänge
#define trigger_ext 7
#define bit0 6
#define bit1 5
int Stufe = 0;
int UeberwachungAn = 0; // kann 0 oder 8 sein!
//int a = 2;
String ts0 = "Lage_Dummyprüfung_erreicht, Stopfen montiert";
String ts1 = "Gewindeniet vorhanden";
String ts2 = "Dummy_eingesetzt und ausgelöst";
String ts3= "Kappe eingesetzt";
String ts4 = "frei";
void setup() {
//Eingänge
pinMode(10, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
//pinMode(12, INPUT_PULLUP);//wird nicht gebraucht
pinMode(11, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
//Ausgänge
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
int StatusStopfen = digitalRead(9) * 2;
int Gesamtstatuscam = digitalRead(10) * 4;
int Statustaster = digitalRead(11) * 1;
int codeStufe = Stufe * 16;
int code = Statustaster + StatusStopfen + Gesamtstatuscam +UeberwachungAn + codeStufe;
delay(2000);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
// lese Eingänge und rechne code "eingangsbelegung" fest:
int StatusStopfen = digitalRead(9) * 2;
int Gesamtstatuscam = digitalRead(10) * 4;
int Statustaster = digitalRead(11) * 1;
int codeStufe = Stufe * 16;
int code = Statustaster + StatusStopfen + Gesamtstatuscam +UeberwachungAn + codeStufe;
//Serial.println(code);
//int Statusbusy = digitalRead(KameraBusy); wird nicht gebraucht
/*
wenn Eingang debug ( Pin 14 ) gegen GND gelegt wird und im PC der Texteditor geöffnet wird,
ist infolge der angezeigten Zahl der Status der Eingänge sichtbar
*/
int Statusdebug = digitalRead(8);
switch(code) {
case 0:
Stufe = 1;
break;
case 17:
Serial.println("Enter an QS1 senden " );
Stufe = 2;
break;
case 32:
Stufe = 3;
break;
case 49:
Serial.println("kein Stopfen erkannt" );
break;
case 51:
Serial.println("Text *Lage_Dummyprüfung_erreicht, Stopfen montiert* an QS1 senden" );
Stufe = 4;
UeberwachungAn = 8;
break;
case 74:
digitalWrite(trigger_ext, HIGH);
digitalWrite(bit0, LOW);
digitalWrite(bit1, LOW);
Stufe = 5;
break;
case 94:
Serial.println(ts1);
digitalWrite(bit0, HIGH);
digitalWrite(bit1, LOW);
Stufe = 6;
}
Serial.print("code = ");
Serial.println(code);
Serial.print("Stufe = ");
Serial.println(Stufe);
Serial.print("UeberwachungAn = ");
Serial.println(UeberwachungAn);
Serial.print(" ");
Serial.println(" ");
delay(2000);
}