Variable ändert den Zustand nicht

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?

Setze Deinen Code bitte in Codetags. Wie das geht, steht hier.

Was soll das bedeuten? (informiere Dich, was digitalWrite tut)

digitalWrite(Start, true);

Start ist doch kein Pin!

Gruß Tommy

Er soll die Variable "Start" true schalten. Das wollte ich mit "digitalWrite" tun.

Ich wiederhole: informiere Dich, was digitalWrite tut

Gruß Tommy

Aua!

Mit digitalWrite schaltet man also Pins. Wie würde ich jetzt die Variabel beschrieben? Also Start = 1

"if (!digitalRead(S1)) { // Der Start Taster wird hier in die Variabel "Start" geschrieben.
Start = true;
} else {
Start = false;
}
"

Du eierst.....
Ich empfehle dir ein schönes dickes C++ Grundlagenbuch.

Start = !digitalRead(S1);
1 Like

Danke für Deine kurze Anwesenheit hier im Forum.
Das war's jetzt.
Uwe