Step 7 1 Taster 2 Funktionen

Spucas Leicher

Level-1
Beiträge
24
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Foglende Aufgabe:
Taster 1 wird gedrückt---> Lampe für 10s an
Taster 1 3sekunden lang gedrückt---> Lampe bleibt an bis sie von
Taster 2 ausgeschaltet wird.

Bräuchte ein paar Tipps bitteschön.
 
Erstmal Kompliment - du hast es geschafft, deiner Frage einen sinnvollen Titel zugeben ... :)

Nun zu deiner Frage :
Du mußt hier lediglich auswerten, wie lange der Taster gedrückt worden ist. Du mußt also einen TON spendieren, der so lange aktiv ist, wie der Taster grdrückt wird. Kann er durchlaufen dann setzt du einen Merker, der die Ausschaltverzögerung überbrückt ...

Hast du dazu wirklich keinen eigenen Ansatz ...?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank :)

U "U05SpID".SchulA5T9.Sig
UN "U05SeqD".Seq.User.Bit6
UN "U05SeqD".Seq.User.Bit7
L S5T#3S
SE "A5" A5= Timer 3s ( T1)
U "A5"
X "U05SeqD".Seq.User.Bit5
= "U05SeqD".Seq.User.Bit5
// wenn Schalter 1 3s gedrückt wird

U "U05SpID".SchulA5T9.Sig
UN "U05SeqD".Seq.User.Bit5
UN "U05SeqD".Seq.User.Bit7
L S5T#10S
SV "Timer 2 Aufgabe 5 10 sec"
U "Timer 2 Aufgabe 5 10 sec"
= "U05SeqD".Seq.User.Bit6
// wenn Schalter 1 einmal gedrückt wird

U "U05SpID".SchulA5T10.Sig
FP M 9.0
X "U05SeqD".Seq.User.Bit7
= "U05SeqD".Seq.User.Bit7


X "U05SeqD".Seq.User.Bit5
X "U05SeqD".Seq.User.Bit6
X "U05SeqD".Seq.User.Bit7
= "U05ActD".SchulA5L5.ACo

Mein Ansatz
 
Also erstens wäre eine Analyse von dir was nicht funktioniert, schon mal der erste schritt in die richtige Richtung.
So kannst du vielleicht auch selber das ganze eingrenzen bevor du andere fragst.

Und welches Übungsheft bearbeitest du den? So haben wir eine kleine Chance uns schon auf deine nächsten Aufgaben vorzubereiten :wink: .


und zum Beispiel ist dein Signal "U05SpID".SchulA5T10.Sig in deinem Code nicht zugewiesen wo soll also dort etwas herkommen was dann zu einem Ergebnis führen soll?
 
Alles klar....dachte nur Fragen kostet nichts ;)

Übungen sind vom Chef, soweit ich weiß, selbst zusammengebastelt.

T10 ist der zweite Taster, mit dem die Lampe nur ausgeschaltet werden soll.

Ich werde mal etwas rumprobieren....falls es dann immernoch nicht funktioniert melde ich mich wieder ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So!
Das is der Code dafür, dass die Lampe bei einmal drücken für 10s leuchtet:
U "U05SpID".SchulA5T9.Sig
UN "U05SeqD".Seq.User.Bit5
L S5T#10S
SV T 103
U T 103
= "U05SeqD".Seq.User.Bit6



Und dieser damit Sie anbleibt und mit Taster 2 ausgeschaltet werden kann:
U "U05SpID".SchulA5T9.Sig
S M 7.0
U "U05SpID".SchulA5T10.Sig
R M 7.0
U M 7.0
= "U05SeqD".Seq.User.Bit5




Hier noch damit die Lampe überhaupt leuchtet:

X "U05SeqD".Seq.User.Bit5
X "U05SeqD".Seq.User.Bit6
= "U05ActD".SchulA5L5.ACo


Wie setze ich nun um, dass er nach kurzem Drücken <3s Funktion 1 übernimmt und nach längerem Drücken >3s Funktion 2.

Gibt es eine Funktion bzw. einen Befehl der das übernimmt?
 
Zuletzt bearbeitet:
Die Lampe am Schluss muss per ODER verknüpft werden und nicht mit XOR.
Darauf hat Dich Harald schon bei Deiner letzen Aufgabe hingewiesen.
;)


Bitte benutz' für den Code mal den Code-Button (#) in der 2.Iconreihe ganz hinten, dann wird er besser lesbar.
Wie das dann aussieht, kannst Du auch in Deinem letzten Thread in Haralds Post (oder meinem) beaugapfeln.


Ich würde das wie folgt lösen:
Taster_1 -> (Flanke wenn die 10s ab Bginn des Tastens laufen sollen und nicht ab Ende) -> Timer1 Nachlauf 10s
Taster_1 -> Einschaltverzögerung 3s -> Setze SR-FlipFlop
Taster_2 -> Rücksetze SR-FlipFlop
SR-FlipFlop = 1 -> Rücksetzen Timer1 (PS: damit man die Lampe im Dauerbetrieb auch vor Ablauf der 10s ausschalten kann!)
Timer1 ODER SR-FlipFlop = Lampe
 
Zuletzt bearbeitet:
Vielen Dank hucki!!
Es funktioniert :)
Für spätere Generationen hier der Code:
Code:
      U     "U05SpID".SchulA5T9.Sig
      FP    M      7.0
      L     S5T#10S
      SA    T    103



      U     "U05SeqD".Seq.User.Bit9
      R     T    103

// wenn Schalter 1 einmal gedrückt wird

      U     "U05SpID".SchulA5T9.Sig
      L     S5T#3S
      SE    T    104

      U     T    104
      S     "U05SeqD".Seq.User.Bit9
      U     "U05SpID".SchulA5T10.Sig
      R     "U05SeqD".Seq.User.Bit9



// wenn Schalter 1 3s gedrückt  wird




      U     T    103
      O     "U05SeqD".Seq.User.Bit9
      =     "U05ActD".SchulA5L5.ACo
 
Zuletzt bearbeitet:
Zurück
Oben