2 Taster gleichzeitig abfragen
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
2 Taster gleichzeitig abfragen
Hallo zusammen,
ich hoffe meine Frage ist nicht zu dumm, aber wie kann ich in Robo Pro mehrere Taster gleichzeitig abfragen, ob sie von 0 (nicht gedrückt) nach 1 (gedrückt) gewechselt sind. In der Praxis stelle ich mir ein Spiel für meine Ft- Konsole (http://youtu.be/t688TPuqsdg) vor, bei dem 2 Spieler versuchen nach einem Signal möglichst schnell auf ihren Taster zu drücken. Derjenige der schneller ist gewinnt/ bekommt einen Punkt. Ich habe auch schon versucht mit "normalen" Elementen solch eine Abfrage zu realisieren, leider funktionierte das nicht, da die Taster dann nie "angenommen" wurden. Ein Bild davon seht ihr hier:
Ich danke schonmal im Voraus für Antworten/ Lösungen!
ich hoffe meine Frage ist nicht zu dumm, aber wie kann ich in Robo Pro mehrere Taster gleichzeitig abfragen, ob sie von 0 (nicht gedrückt) nach 1 (gedrückt) gewechselt sind. In der Praxis stelle ich mir ein Spiel für meine Ft- Konsole (http://youtu.be/t688TPuqsdg) vor, bei dem 2 Spieler versuchen nach einem Signal möglichst schnell auf ihren Taster zu drücken. Derjenige der schneller ist gewinnt/ bekommt einen Punkt. Ich habe auch schon versucht mit "normalen" Elementen solch eine Abfrage zu realisieren, leider funktionierte das nicht, da die Taster dann nie "angenommen" wurden. Ein Bild davon seht ihr hier:
Ich danke schonmal im Voraus für Antworten/ Lösungen!
- DieTigerente
- Beiträge: 36
- Registriert: 03 Sep 2014, 17:59
- Wohnort: irgendwo knapp über Koblenz
Re: 2 Taster gleichzeitig abfragen
Hallo,
Kannst du die Werte der Taster nicht einfach in verschiedenen Prozessen (also mit mehreren Startelementen) abfragen?
An der Integration ins Programm sollte sich dabei eigentlich wenig ändern.
Hoffe, das hilft (und hoffe, ich hab die Frage nicht falsch verstanden)
Viele Grüße,
TIGERENTE
Kannst du die Werte der Taster nicht einfach in verschiedenen Prozessen (also mit mehreren Startelementen) abfragen?
An der Integration ins Programm sollte sich dabei eigentlich wenig ändern.
Hoffe, das hilft (und hoffe, ich hab die Frage nicht falsch verstanden)
Viele Grüße,
TIGERENTE
Re: 2 Taster gleichzeitig abfragen
Hallo progli,
ich weis nicht inwieweit du dich mit dem Programmieren auskennst.
Meine Lösung für dein Problem wäre wie folgt:
Ich würde zwei weitere Prozesse (wie DieTigerente es schon beschrieben hast) hinzufügen.
Dann würde ich eine lokale Variable nutzen um zu schauen, ob ein Taster gedrückt wurde und von welchem Spieler.
https://www.dropbox.com/s/bloilgksdduq9 ... t.png?dl=0
In deinem jetzigen Programmstück würde ich abfragen von wem gedrückt wurde und dementsprechend die Verzweigung schalten.
https://www.dropbox.com/s/buvd1e1jtnm0k ... 1.png?dl=0
Die lokale Variable Spieler musst du danach natürlich wieder auf 0 zurücksetzen ....
Zurzeit finde ich persönlich keine einfachere Lösung. Bitte korrigiert mich falls nötig.
Sorry bekomme die Bilder nicht direkt geladen.
Gruß Tobias
ich weis nicht inwieweit du dich mit dem Programmieren auskennst.
Meine Lösung für dein Problem wäre wie folgt:
Ich würde zwei weitere Prozesse (wie DieTigerente es schon beschrieben hast) hinzufügen.
Dann würde ich eine lokale Variable nutzen um zu schauen, ob ein Taster gedrückt wurde und von welchem Spieler.
https://www.dropbox.com/s/bloilgksdduq9 ... t.png?dl=0
In deinem jetzigen Programmstück würde ich abfragen von wem gedrückt wurde und dementsprechend die Verzweigung schalten.
https://www.dropbox.com/s/buvd1e1jtnm0k ... 1.png?dl=0
Die lokale Variable Spieler musst du danach natürlich wieder auf 0 zurücksetzen ....
Zurzeit finde ich persönlich keine einfachere Lösung. Bitte korrigiert mich falls nötig.
Sorry bekomme die Bilder nicht direkt geladen.
Gruß Tobias
Re: 2 Taster gleichzeitig abfragen
Hallo,
ab Level 3 :
Programmelemente - Eingänge, Ausgänge : I1 und I3
an Operator and koppeln
und mit Verzweigung A>0 abfragen (ggf. J/N vertauschen)
Gruß Ulrich Müller
ab Level 3 :
Programmelemente - Eingänge, Ausgänge : I1 und I3
an Operator and koppeln
und mit Verzweigung A>0 abfragen (ggf. J/N vertauschen)
Gruß Ulrich Müller
Re: 2 Taster gleichzeitig abfragen
Danke für die schnellen Antworten!
@ UMueller: So kann man aber nur abfragen ob einer und nicht welcher von beiden gedrückt wurde, oder?
@DieTigerente & tobs9578: ich habe das mal mit zwei Prozessen und so wie von dir tobs beschrieben versucht, allerdings hat Robo Pro anscheinend nicht gemerkt, dass die Variablen mit dem gleichen Namen zusammengehören, denn der Vergleich mit der festen Variablen ist immer gescheitert/ wurde immer wieder wiederholt...
Hat wer ne Idee was ich falsch mache/ was ich ändern kann?
Ich hatte die Variable "Spielen" weggelassen, da ich nicht wusste, wie ich sie mit dem = Element verbinde und was der Sinn von ihr ist. Ist das Weglassen vllt. ein Grund dafür?
@ UMueller: So kann man aber nur abfragen ob einer und nicht welcher von beiden gedrückt wurde, oder?
@DieTigerente & tobs9578: ich habe das mal mit zwei Prozessen und so wie von dir tobs beschrieben versucht, allerdings hat Robo Pro anscheinend nicht gemerkt, dass die Variablen mit dem gleichen Namen zusammengehören, denn der Vergleich mit der festen Variablen ist immer gescheitert/ wurde immer wieder wiederholt...
Hat wer ne Idee was ich falsch mache/ was ich ändern kann?
Ich hatte die Variable "Spielen" weggelassen, da ich nicht wusste, wie ich sie mit dem = Element verbinde und was der Sinn von ihr ist. Ist das Weglassen vllt. ein Grund dafür?
Re: 2 Taster gleichzeitig abfragen
Hallo Progli,
die Variable Spielen soll zusagen sagen, dass jetzt die nächste Runde gespielt werden soll.
Um das Verbindungsproblem zu lösen: Du musst das Häcken bei Dateneingang setzen in den Operator Einstellungen
Falls du es nicht hinbekommen solltest schaue ich die nächsten Rage nochmal.
Gruß Tobias
die Variable Spielen soll zusagen sagen, dass jetzt die nächste Runde gespielt werden soll.
Um das Verbindungsproblem zu lösen: Du musst das Häcken bei Dateneingang setzen in den Operator Einstellungen
Falls du es nicht hinbekommen solltest schaue ich die nächsten Rage nochmal.
Gruß Tobias
Re: 2 Taster gleichzeitig abfragen
With the fischertechnik controllers is it not possible to query sensors at the same time.
This because there is only one CPU available.
Also because of the anti-bounce there could be a little time difference between sensor observations.
Most of the time you will not notice it.
However in time critical closed control loops this could lead to instability.
This because there is only one CPU available.
Also because of the anti-bounce there could be a little time difference between sensor observations.
Most of the time you will not notice it.
However in time critical closed control loops this could lead to instability.
Re: 2 Taster gleichzeitig abfragen
ok Tobs, werde das mal probieren
wenn irgendwer Zeit und Lust hat kann er auch mal versuchen, das direkt in die bestehende Datei einzufügen.
https://www.dropbox.com/s/6mz5z2gteu58n ... n.rpp?dl=0
Damit man das Programm versteht:
Bei dem Spiel leuchten immer die drei ersten Lampen in einem bestimmten Abstand und die Spieler müssen drücken, wenn sie meinen, das das Licht bei der letzten Lampe angekommen ist.
Die erste Lampe ist aus Belegungsgründen immer I8, die zweite I1, die dritte I2, und so weiter...
wenn irgendwer Zeit und Lust hat kann er auch mal versuchen, das direkt in die bestehende Datei einzufügen.
https://www.dropbox.com/s/6mz5z2gteu58n ... n.rpp?dl=0
Damit man das Programm versteht:
Bei dem Spiel leuchten immer die drei ersten Lampen in einem bestimmten Abstand und die Spieler müssen drücken, wenn sie meinen, das das Licht bei der letzten Lampe angekommen ist.
Die erste Lampe ist aus Belegungsgründen immer I8, die zweite I1, die dritte I2, und so weiter...
- Dirk Fox
- ft:pedia-Herausgeber
- Beiträge: 1833
- Registriert: 01 Nov 2010, 00:49
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: 2 Taster gleichzeitig abfragen
Hallo progli,
(Statt "*2" kannst Du auch "SHL 1" verwenden, statt "*4" "SHL 2".) Dann kannst Du das Ergebnis in einem Schritt auswerten: Du stoppst die Tasterauswertung, wenn der Wert > 0 ist, und erkennst anschließend am Zahlenwert, welcher Spieler der Gewinner ist.
Beste Grüße,
Dirk
eine programmiertechnisch elegante Variante ist, die "Werte" der Taster (I1, I2, I3, ...) mit Operatoren in einen Ergebniswert umzurechnen: I1+I2*2+I3*4+...progli hat geschrieben:... wie kann ich in Robo Pro mehrere Taster gleichzeitig abfragen, ob sie von 0 (nicht gedrückt) nach 1 (gedrückt) gewechselt sind.
(Statt "*2" kannst Du auch "SHL 1" verwenden, statt "*4" "SHL 2".) Dann kannst Du das Ergebnis in einem Schritt auswerten: Du stoppst die Tasterauswertung, wenn der Wert > 0 ist, und erkennst anschließend am Zahlenwert, welcher Spieler der Gewinner ist.
Beste Grüße,
Dirk
Re: 2 Taster gleichzeitig abfragen
Moin,
auch wenn ich eigentlich nie etwas in RoboPro mache, hier mein theoretischer DigitalElektronik-Oldschool Ansatz:
- man nehme 2 (RS)FlipFlops (im zweifel muss man dieseselbst programmieren)
- jedes der 2 FF wird durch je einen der Taster angesteuert
- das als erstes durch Seinen Taster Gesetzte FlipFlop muss nun das andere FlipFlop blockieren, damit dieses nicht mehr durch "Seinen" Taster gesetzt werden kann... Dann noch eine Reset-Vorrichtung und gut iss.
ich stelle diese Variante mal zur Diskussion.. ich hoffe das ist nicht zuuuu theoretisch
Gruß
Jens
auch wenn ich eigentlich nie etwas in RoboPro mache, hier mein theoretischer DigitalElektronik-Oldschool Ansatz:
- man nehme 2 (RS)FlipFlops (im zweifel muss man dieseselbst programmieren)
- jedes der 2 FF wird durch je einen der Taster angesteuert
- das als erstes durch Seinen Taster Gesetzte FlipFlop muss nun das andere FlipFlop blockieren, damit dieses nicht mehr durch "Seinen" Taster gesetzt werden kann... Dann noch eine Reset-Vorrichtung und gut iss.
ich stelle diese Variante mal zur Diskussion.. ich hoffe das ist nicht zuuuu theoretisch
Gruß
Jens
----
Jens Lemkamp
Jens Lemkamp