-
Eingänge verriegeln
Hallo Leute,
ich knoble gerade an einer einfachen Motorsteuerung.
Wie schaffe ich das die Eingänge gegeneinander zu verriegeln ?
So stelle ich mir das vor:
Wenn Taster "Auf" gedrückt ist, dann sperre Taster "Zu" für 30 Sekunden und umgekehrt. Sinn ist ein "spielen" (und damit Kurzschluß des Motorstroms) bei gleichzeitiger Betätigung der Taster zu verhindern. Ein "Loslassen" der Taster führt zu sofortigem "Stop"
Code:
.
.
If Pind.1 = 0 Then 'Wenn Taster "Auf" (Pin PD1) gedrückt
Call Eins: 'Sub "Auf"
Else 'Wenn Taster nicht gedrückt
Call Drei: 'Grüne LED aus
End If
'-------------------------------------------------
'
If Pind.2 = 0 Then 'Wenn Taster "Zu" (Pin PD2) gedrückt
Call Zwei: 'Sub "Zu"
Else 'Wenn Taster nicht gedrückt
Call Drei: 'Grüne LED aus
End If
'-------------------------------------------------------------------------------
Sub Eins: 'Subroutine "AUF"
Portd.5 = 1 'Grüne LED (Pin PD5) " AUF " an
'Waitms 450
End Sub
Sub Zwei: 'Subroutine " ZU "
Portd.6 = 1 'Rote LED (Pin PD6) " ZU " an
'Waitms 450
End Sub
Sub Drei: 'Subroutine " AUS "
Portd.5 = 0 'Grüne LED (Pin PD5) "AUF " aus
Portd.6 = 0 'Rote LED (Pin PD6) " ZU " aus
'Waitms 450
End Sub
-
Mit einem RS-Flop. da sind die beiden Ausgänge immer eindeutig so oder so.
Ein's drauf: Mit jeder Taste triggerst du einen NE555, der eine Zeitlang beide Tasten sperrt (N)AND Gatter.
-
Hi Gandalf,
ein FlipFlop ist nicht notwendig. Es führt eher zu Problemen, da (frei nach Murphy) ein Speicher immer den Wert hat, den man gerade nicht gebrauchen kann.
Die gesuchte Funktion ist eine 'verzögerte Ausschaltung'. Solange das verzögerte Auf - Signal ansteht wird das Zu - Signal gesperrt und umgekehrt.
Gruß Klaus
-
Danke für die Tips
erst mal danke für die Tips
@PickNick
Das wäre ein Tip, aber die Zeile
Code:
Debounce PinD.2 , 0 , Zwei , Sub
hat diese R/S Funktion. Sie setzt mir zwar im Unterprogramm "Zwei:" den PortD.2 auf High, aber nicht zurück, wenn die Taste losgelassen wird.
@Klaus_0168
Das ist eine Idee, das werd ich am Wochenende mal testen, Klaus
Danke
Ich freue mich auf weitere Ideen
-
Sorry, war nicht eingelogged
-
Ich war undeutlich: "EIN" geht aus Set, "AUS" auf Reset. Und beides triggert den Sperr-Monoflop.
Aber wenn du eh mit controller arbeitest, versteh ich dein Problem nicht. Ein paar "IF", ein Timer und die Sache ist sowieso erledigt.