Totmannschaltung

Hallo Leute

Möchte gerne eine Totmannschaltung mit zwei Tastern realisieren. Bedingung 1: Wenn man beide Taster gleichzeitig drückt (Toleranz 0,5s) soll z.B eine LED leuchten. Bedingung 2: Wenn dies nicht zutrifft, muss man beide Taster loslassen, um wieder zur ersten Bedingung zu kommen.

Ich bitte euch um Hilfe bei der Programmierung in C, da ich mit der Zeitfunktion einwenig ideenlos bin :slightly_frowning_face: .

lg Lukas

Was hat das mit der Totmannschaltung zu tun? Das ist höchstens eine Zweihandsicherheitsbedienung! Totmannschaltung ist nichts anderes als ein gedrückter Taster, der eine Aktion ausführt, solange er gedrückt ist, bzw. der eine Aktion ausführt, sobald er losgelassen wird (boom boom schalter).

Lerne die Basics aus dem Playground. Da wird alles erklärt.

Nein ein Totmannschalter ist ein Taster der alle x Zeit oder anderen Aufforderungen gedrückt werden muß, damit eine Funktion nicht endet. Typischerweise bei Eisenbahn, wenn der Zugführer nicht reagiert (tot mann) wird der Zug automatisch gebremst. Grüße Uwe

uwefed: Nein ein Totmannschalter ist ein Taster der alle x Zeit oder anderen Aufforderungen gedrückt werden muß, damit eine Funktion nicht endet.

Es gibt beide Versionen. Manchmal ist es auch einfach, dass man einen Taster gedrückt halten muss damit etwas läuft.

Hallo Uwe,

falls der Widerspruch auf meine Antwort ist, somit möchte ich mein Veto einlegen.

Sowohl du wie auch ich haben Recht ;)

"Sie reagieren auf Bewegungslosigkeit, waagerechte Körperlage (Totmanneinrichtung) oder Schlaf oder sie lösen beim Loslassen aus und verriegeln sich bzw. erfordern eine zusätzliche Schalthandlung zum Wiedereinschalten (Totmannschalter, zum Beispiel an handgeführten, gefährlichen Maschinen)."

Mit der Eisenbahn hast du ein Beispiel, an was ich gerade überhaupt nicht gedacht habe, was aber durch aus passt.

Die Zweihandsicherheitsbedienung kann man da sogar mit einordnen. Beispiel Pressen, bei denen sichergestellt werden muss, dass beide Hände drücken, damit keine Hand irgendwo zwischen landet. Eine falsche und nicht sichere Zweihandschaltung erkennt man daran, dass ein Taster mit einem Schraubendreher dauergedrückt wird :grin: :grin:

Eine andere sehr typische Totmanschaltung findet man an vielen Baugeräten (Kreissägen, Flex, ....), sobald losgelassen wird, stoppt die Maschine.

@Lukas the_green_hornet:

So einfach gehts hier nicht. :wink: Einfach zu behaupten man sei ideenlos, reicht nicht. Musst deine Ideen schon zeigen, dass man dir auf die Sprünge hilft.

“Programmieren in C” kann eine Schwierigkeit sein.

“Programmieren für MicroController” ist nochmal ein anderes Thema: Dass solche Programme endlos bzw. immer wieder laufen und man eher programmiert, dass meistens nichts passiert ausser bei einem der (seltenen) Zustandswechsel, das ist anfangs sehr gewöhnungsbedürftig. Das berühmte “BlinkWithoutDelay” ist da nur eine allererste Einführung.

Geht es nur darum, dass eine LED nur unter ganz bestimmten Bedingungen leuchten soll und sonst aus ist ?

Nur wenn zwei Taster innerhalb einer festgelegten kurzen Zeitspanne beide von LOW nach HIGH gewechselt haben und nur solange beide HIGH sind ?
Dann musst du dir also die Zeitpunkte der beiden letzten Wechsel LOW->HIGH merken, und solange diese Zeiten “fast gleich” sind und beide HIGH, die LED einschalten, sonst aus.

Um einen Wechsel zu merken, musst du natürlich wissen, wie der Zustand vorher war und wie er jetzt ist.

Ja, so kompliziert sind solche einfachen Sachen. Und jetzt das Ganze in C formulieren… Viel Spass und Erfolg !

Fahrrad fahren ist auch schwer, wenn man nicht übt :grin:

Zeichne dein Programm, bevor du es schreibst. Eine solche Zeichnung kann man dann in fast alle beliebigen Sprachen umsetzen. Ein großer Fehler ist es, einfach drauf los programmieren zu wollen.

Das Stichwort ist Nassi-Shneiderman-Diagramm oder auch Struktogramm.