Relaisansteuerung mit auswählbaren Porzesszeiten

Guten Tag zusammen, :wink:

ich bin noch relativ neu in der Arduino Programmierung.
Jedoch würde ich gerne ein Relais anstuern, welches eine gewisse Zeit geschaltet sein soll.
Dann möchte ich aber noch verschiedene "Unterprogramme" haben, welche man Auswählen kann, wo Beispielweise beschrieben ist das bei Programm 1 das Relais für 10 sec angesteuert wird und im Programm 2 jedoch für 15 sec.

Der elektrische Aufbau ist ja sehr einfach, jedoch habe ich meine Probleme mit der Programmierung. Jedes Programm einzeln bekomme ich geschrieben, aber ich weiß nicht wie ich dann zum Beispiel ein Programm wechsel Programmieren kann. :open_mouth:

Hoffe ihr könnt mir weiterhelfen.

Grüße
Nolain

Soll der Programmwechsel abhängig von von einer Schalterstellung oder Tastenbetätigung geschehen?

Am liebsten wäre es mir natürlich wenn man ein Display hätte, wo drauf steht welches Programm gerade aktiv ist und die einprogrammierte Zeit sehen kann.

Wie der Programmwechsel stattfinden soll, wäre mir in erster Linie egal.
Ich denke aber ich weiß worauf du hinaus möchtest.

nolain:
Dann möchte ich aber noch verschiedene "Unterprogramme" haben, welche man Auswählen kann, wo Beispielweise beschrieben ist das bei Programm 1 das Relais für 10 sec angesteuert wird und im Programm 2 jedoch für 15 sec.

Das geht alles mit einer Funktion. Du kannst einer Funktion die Zeit als Parameter übergeben. Fange nicht damit an eine Funktion für X Sekunden zu haben und eine andere für Y Sekunden

Ansonsten suche nach den Stichworten "endlicher Automat", "Zustandsmaschine" und "Finite State Machine" um zu lernen wie man zustandsabhängig zwischen verschiedenen Funktion umschaltet

Und fang ja nicht an, das ganze mit delay() zu programmieren.

Was würde denn dagegen sprechen das ganze mit der delay() Funktion zu programmieren?

In der Zeit steht der Prozessor quasi still

Die Frage bestätigt mir, dass mein Hinweis notwendig war.
Beschäftige dich unbedingt mit den Grundlagen. Nimm als erstes Beispiel das Blink mit delay. Mach 3 Sekunden Blinkfrequenz. Dann baue einen Taster ein, so dass es nur blinkt solange der Taster gedrückt ist. Dann versuche, hinzubekommen, dass beim Loslassen des Tasters die Led SOFORT ausgeht. Spätestens hier solltest du das Problem von delay erkannt haben

ElEspanol:
Dann versuche, hinzubekommen, dass beim Loslassen des Tasters die Led SOFORT ausgeht. Spätestens hier solltest du das Problem von delay erkannt haben

Richtig!

Und als nächsten Schritt dann BlinkwithoutDelay - Die Nachtwächtererklärung

Und bevor du dann das tatsächliche Relais verwendest solltest du dich noch über induktive Lasten und Freilaufdioden informieren.