Hallo liebes Forum,
ich habe folgendes Problem. Die Variabelen, meines Programmes ändern ihren Zustand nicht. Obwohl ich den Taster drücke, ändert sich der Zustand der Variable "Start" nicht.
Leider funktioniert auch die Wasserstandsüberwachung über die Variabel "PegeliO" nicht.
Hier mein Code:
int S1 = 4; //Start Taster
int Relais_K3 = 7; //LED_1:"Anlage läuft"
int Relais_K4 = 5; //LED_2:"Bitte Wasser nachfüllen"
int Pegel = A0; //Sensor für den Wasserstand
bool PegeliO = 0;
bool Start = 0;
void setup() {
pinMode(S1, INPUT_PULLUP);
pinMode(Pegel, INPUT);
pinMode(Relais_K3, OUTPUT);
pinMode(Relais_K4, OUTPUT);
digitalWrite(Relais_K3, LOW);
digitalWrite(Relais_K4, LOW);
Serial.begin(9600);
}
void loop() {
if (!digitalRead(S1)) { // Der Start Taster wird hier in die Variabel "Start" geschrieben.
digitalWrite(Start, true);
} else {
digitalWrite(Start, false);
}
switch (analogRead(Pegel)) // Hier werden die Werte für den Wasserstand verglichen. Sodass der Wasserstand immer im optimalen Bereich liegt.
{
case 600 ... 850:
digitalWrite(PegeliO, HIGH);
break;
case 0 ... 599:
digitalWrite(PegeliO, LOW);
break;
}
if (digitalRead(Start)) { // Der Ausgang K3 wird hier geschaltet. Als Variabel wird "Start" benötigt.
digitalWrite(Relais_K3, LOW);
}
if (!digitalRead(PegeliO)) { // Der Ausgang K4 wird eingeschaltet, wenn der PegeliO invertiert ist. Die LED für den niedrigen Füllstand leuchtet.
digitalWrite(Relais_K4, HIGH);
} else {
digitalWrite(Relais_K4, LOW);
}
Serial.println(digitalRead(Start));
delay(400);
}
Vielleicht hat jemand dazu eine Idee?