const int startButton = 2; // Pin für S1
const int stopButton = 3; // Pin für S2
const int relaisK1 = 8; // Pin für Stern
const int relaisK2 = 9; // Pin für Dreieck
const int relaisK3 = 10; // Pin für Betrieb
const unsigned long switchTime = 6; // Zeit für den Wechsel von Stern auf Dreieck
unsigned long startTime = 0;
bool isRunning = false;
bool inStarMode = false;
void setup() {
pinMode(startButton, INPUT_PULLUP);
pinMode(stopButton, INPUT_PULLUP);
pinMode(relaisK1, OUTPUT);
pinMode(relaisK2, OUTPUT);
pinMode(relaisK3, OUTPUT);
digitalWrite(relaisK1, LOW);
digitalWrite(relaisK2, LOW);
digitalWrite(relaisK3, LOW);
}
void loop() {
if (digitalRead(stopButton) == LOW) { // Stopknopf gedrückt
isRunning = false;
inStarMode = false;
digitalWrite(relaisK1, LOW);
digitalWrite(relaisK2, LOW);
digitalWrite(relaisK3, LOW);
}
if (digitalRead(startButton) == LOW) {// Startknopf gedrückt
isRunning = true;
inStarMode = true;
startTime = millis();
digitalWrite(relaisK1, HIGH); // Stern einschalten
digitalWrite(relaisK3, HIGH); // Betrieb einschalten
}
if (isRunning && inStarMode && (millis() - startTime > switchTime)) { // Nach 3 Sekunden
inStarMode = false;
digitalWrite(relaisK1, LOW); // Stern ausschalten
digitalWrite(relaisK2, HIGH); // Dreieck einschalten
digitalWrite(relaisK, HIGH); // Dreieck einschalten
}
}