Funktioniert auch - 1000 Dank ![]()
ich rate dir ein wenig Theorie einfach aus der Wikipedia zu lesen:
https://de.wikipedia.org/wiki/Endlicher_Automat
https://de.wikipedia.org/wiki/Zustandsübergangsdiagramm
das passt vermutlich auch:
https://www.mikrocontroller.net/articles/Statemachine
Hier habe ich es mal an einem Beispiel "Reise nach Jerusalem" versucht:
https://werner.rothschopf.net/202003_arduino_buzzer_fsm.htm
Moin, hab gedacht ich habs soweit verstanden, scheinbar aber doch nicht ganz ![]()
Ich würde jetzt gerne noch ein 3 Output machen der eine LED schaltet sobald der Schieber fährt, egal ob links oder rechts, in dem Code finde ich jetzt aber leider nicht die richtige Zeile um das mit einzubinden.
Bist du so lieb und würdest mich da nochmal kurz unterstützen? ![]()
jajajaa....
Vergiss die Funktion da.
Du willst doch auswerten, ob einer von den Antrieben läuft und dann darauf reagieren.
Dann frag die Antriebe ab.
void loop()
{
endschalter(); // die müssen immer abgefragt werden
taster(0, 1);
taster(1, 0);
zeigeBewegung(); // <= :)
}
Nu musste noch nenn LED-Pin definieren.
Und initialisieren.
Und dann fragst den relaiszustand ab.
void zeigeBewegung()
{
bool ichfahre = false;
for (byte b = 0; b < kreise; b++)
{
if (digitalRead(Relais[b]) == an)
ichFahre = true;
}
if (ichfahre == true)
digitalWrite(ledPin, HIGH);
else
digitalWrite(ledPin, LOW);
}
Oder? Alternativ:
void zeigeBewegung()
{
bool ichfahre = false;
for (byte b = 0; b < kreise; b++)
{
if (digitalRead(Relais[b]) == an)
ichFahre = true;
}
digitalWrite(ledPin, ichfahre);
}