Hallo Forum.
ich befinde mich noch in Kinderschuhen, was Programmieren mit Arduino angeht. Ich habe insgesamt eine Temperatursteuerung verschiedener Teilsegmente vor. Diese Teilsegmente sollen mittels einem 4 stufigen Drehschalter gewählt werden. Auf Stufe 0 sollen alle anzusteuernden Relais ausgeschalten sein. Stufe 1 am Drehschalter soll Relais 1 schalten usw.
Die Relais sind im Moment nur zum Probieren eingebaut. Später sollen in den jeweiligen IF Blöcken verschiedene Temperaturabfragen, Ventilsteuerungen usw. rein.
Ich versuche, nicht alles miteinander zu programmieren, sondern erstmal die einzelnen Blöcke und später dann eben zusammenfügen, das denke ich fürs Verständnis erstmal sinnvoll.
Nun zu meinem Problem:
benutzen tu ich einen Arduino UNO
Wenn ich von Schaltstufe 0 auf 1 schalte, schaltet Relais 1 und 2
von 1 auf 2 schalten Relais 1 und 2 aus
von 2 auf 3 schaltet nichts
von irgendetwas auf 0 zurück passiert ebenfalls nichts.
Nun meine Frage:
Liegts an meinem Code oder muss ich wo anders suchen.
Danke schon mal für Eure Hilfe.
LG
//Definition Ausgänge
int RELAIS1 = 5;
int RELAIS2 = 6;
int RELAIS3 = 7;
//Definition Eingänge
int TASTER1 = 8;
int TASTER2 = 9;
int TASTER3 = 10;
int Schalter1 ;
int Schalter2 ;
int Schalter3 ;
void setup()
{
// Setzen der Ausgänge
pinMode(RELAIS1, OUTPUT);
pinMode(RELAIS2, OUTPUT);
pinMode(RELAIS3, OUTPUT);
// Setzen des entprellten Eingangs
pinMode(TASTER1, INPUT_PULLUP);
pinMode(TASTER2, INPUT_PULLUP);
pinMode(TASTER3, INPUT_PULLUP);
}
void loop()
{
//Abfragen des Status des Drehschalters mit 4 Schaltpositionen
Schalter1 = digitalRead(TASTER1);
Schalter2 = digitalRead(TASTER2);
Schalter3 = digitalRead(TASTER3);
delay(1000);
//Abfrage der ersten Schaltstufe des Drehschalters
if (Schalter1 == HIGH) {
delay(200);
//Schalten der Ausgänge, Relais 1 soll schalten, wenn Schaltstufe 1 des Schalters ein ist
digitalWrite(RELAIS1, HIGH);
digitalWrite(RELAIS2, LOW);
digitalWrite(RELAIS3, LOW);
}
else if (Schalter2 == HIGH) {
delay(200);
//Schalten der Ausgänge, Relais 2 soll schalten, wenn Schaltstufe 2 des Schalters ein ist
digitalWrite(RELAIS1, LOW);
digitalWrite(RELAIS2, HIGH);
digitalWrite(RELAIS3, LOW);
}
else if (Schalter3 == HIGH) {
delay(200);
//Schalten der Ausgänge, Relais 3 soll schalten, wenn Schaltstufe 3 des Schalters ein ist
digitalWrite(RELAIS1, LOW);
digitalWrite(RELAIS2, LOW);
digitalWrite(RELAIS3, HIGH);
}
else if (Schalter1 == LOW && Schalter2 == LOW && Schalter3 == LOW)
{
//Schalten der Ausgänge, Schaltstufe 0, alle Relais sollen aus sein
delay(200);
digitalWrite (RELAIS1, LOW);
digitalWrite (RELAIS2, LOW);
digitalWrite (RELAIS3, LOW);
}
}