PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eingänge verriegeln



gandalf
13.04.2005, 12:40
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"




.
.
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

PicNick
13.04.2005, 12:49
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.

Klaus_0168
13.04.2005, 14:10
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

14.04.2005, 23:00
erst mal danke für die Tips

@PickNick
Das wäre ein Tip, aber die Zeile


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

gandalf
14.04.2005, 23:05
Sorry, war nicht eingelogged

PicNick
15.04.2005, 14:27
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.