Zeitmessung per Taste
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Zeitmessung per Taste
Hallo,
ich begebe mich auf ein, für mich, völlig neues Gebiet.
Für einen Fun Wettkampf suchen wir eine günstige Lösung der Zeitmessung.
Die Idee: Mit einem Taster (nicht Tastatur) wird die Zeitmessung für vier Teilnehmer gestartet und mit vier weiteren Tastern wird die Zeit einzeln gestoppt.
Ich glaube verstanden zu haben das dies mit einer https://www.luedeke-elektronic.de/de/El ... VM167.html funktionieren kann.
Richtig? Und wenn ja, kann man das Signal unter Gambas verarbeiten?
Ich hoffe unsere Frage verständlich rübergebracht zu haben.
ich begebe mich auf ein, für mich, völlig neues Gebiet.
Für einen Fun Wettkampf suchen wir eine günstige Lösung der Zeitmessung.
Die Idee: Mit einem Taster (nicht Tastatur) wird die Zeitmessung für vier Teilnehmer gestartet und mit vier weiteren Tastern wird die Zeit einzeln gestoppt.
Ich glaube verstanden zu haben das dies mit einer https://www.luedeke-elektronic.de/de/El ... VM167.html funktionieren kann.
Richtig? Und wenn ja, kann man das Signal unter Gambas verarbeiten?
Ich hoffe unsere Frage verständlich rübergebracht zu haben.
Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
Re: Zeitmessung per Taste
Hi,
Bei der Software-Farm gibt es ein RS232 Beispielprogramm, war auch die Vorlage für meinen Rundenzähler der mit einer Lichtschranke betrieben wird. In Deinem Fall ist der Programmieraufwand recht übersichtlich da die Signale direkt sind, also keine äußerlichen Einflüsse wie Licht, Schatten, Signalstärke...
Beispiel für ein Ausgangssignal (z.B. die Zeitmessung wird gestartet): gambas code
In dem Fall reicht eine RS232 bzw. ein USB nach RS232 Adapter den es für etwa 6,-- Euronen gibt aus, zuzüglich der benötigten Taster und Kabel.roemi hat geschrieben:...Für einen Fun Wettkampf suchen wir eine günstige Lösung der Zeitmessung. Die Idee: Mit einem Taster (nicht Tastatur) wird die Zeitmessung für vier Teilnehmer gestartet und mit vier weiteren Tastern wird die Zeit einzeln gestoppt...
Bei der Software-Farm gibt es ein RS232 Beispielprogramm, war auch die Vorlage für meinen Rundenzähler der mit einer Lichtschranke betrieben wird. In Deinem Fall ist der Programmieraufwand recht übersichtlich da die Signale direkt sind, also keine äußerlichen Einflüsse wie Licht, Schatten, Signalstärke...
Beispiel für ein Ausgangssignal (z.B. die Zeitmessung wird gestartet): gambas code
Public Sub btnDTR_Click() ' der Knopf "DTR" wurde gedrückt If SPort.Status = Net.Active Then ' wenn der Port offen ist If SPort.DTR Then ' wenn DTR ein ist SPort.DTR = False ' DTR (4) ausschalten (auf low) imgDTR.Picture = Picture["img/LED-aus.png"] ' LED ausschalten Else ' wenn DTR aus ist SPort.DTR = True ' DTR (4) einschalten (auf high) imgDTR.Picture = Picture["img/LED-ein.png"] ' LED einschalten Endif Else ' wenn der Port nicht offen ist txaERXD.Text = "DTR: " & lblOPF.Text & Chr(10) & txaERXD.Text & Chr(10) Endif EndBeispiel für ein Eingangssignal (z.B. einer der Taster wurde betätigt: gambas code
Public Sub SPort_DCDChange(bEin As Boolean) ' Zustand von DCD (1) hat gewechselt If bEin Then ' ein (high)? imgDCD.Picture = Picture["img/LED-ein.png"] ' LED einschalten Else ' oder aus (low)? imgDCD.Picture = Picture["img/LED-aus.png"] ' LED ausschalten Endif EndGrüßle
Gruß, Naubaddi
Re: Zeitmessung per Taste
Hi noch mal,
hm, habe etwas übersehen, Du brauchst ja 5 Eingänge. Da die RS232 nur 4 Eingänge als high/low verarbeiten kann muß ein Eingang doppelt genutzt werden, spart dann sogar einen Taster
. Oder um sicher zu gehen das der doppelt genutzte Taster nicht versehentlich auch das Zielsignal gibt 5 Taster wovon 2 an der selben Leitung hängen, muss dann im Programm berücksichtigt werden.
Also 1 Taster wird zum Starten genutzt und danach zum Stoppen, bleibt also dieses übrig:
Beispiel für ein Eingangssignal (z.B. einer der Taster wurde betätigt: gambas code
INFO, an/mit einer RS232 kann man nix kaputt machen das Ding ist Kurzschlussfest!
Grüßle
hm, habe etwas übersehen, Du brauchst ja 5 Eingänge. Da die RS232 nur 4 Eingänge als high/low verarbeiten kann muß ein Eingang doppelt genutzt werden, spart dann sogar einen Taster

Also 1 Taster wird zum Starten genutzt und danach zum Stoppen, bleibt also dieses übrig:
Beispiel für ein Eingangssignal (z.B. einer der Taster wurde betätigt: gambas code
Public Sub SPort_DCDChange(bEin As Boolean) ' Zustand von DCD (1) hat gewechselt If bEin Then ' ein (high)? imgDCD.Picture = Picture["img/LED-ein.png"] ' LED einschalten Else ' oder aus (low)? imgDCD.Picture = Picture["img/LED-aus.png"] ' LED ausschalten Endif EndAn den Eingängen DCD, DSR,CTS und RNG wird ein Kontakt der Taster angeschlossen, dann noch DTR als Spannung für den anderen Kontakt der Taster und fertig ist die Laube.
INFO, an/mit einer RS232 kann man nix kaputt machen das Ding ist Kurzschlussfest!
Grüßle
Gruß, Naubaddi
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Re: Zeitmessung per Taste
Cool. Danke!
Damit werde ich mich am WE beschäftigen! Und Euch auf dem laufenden halten bzw. noch weitere Fragen stellen.
Damit werde ich mich am WE beschäftigen! Und Euch auf dem laufenden halten bzw. noch weitere Fragen stellen.
Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Re: Zeitmessung per Taste
Eine kurze Frage ... mit RNG meinst Du RTS PIN 7?
Egal welche Beispiele ich für die Pinbelegung heranziehe, RNG ist nirgendwo zu finden.
Danke
Egal welche Beispiele ich für die Pinbelegung heranziehe, RNG ist nirgendwo zu finden.
Danke
Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
Re: Zeitmessung per Taste
Hi,
nein mit RNG oder auch RI ist der "Ring Indicator" pin 9 an der RS232 gemeint.
die RS232:
Grüßle
nein mit RNG oder auch RI ist der "Ring Indicator" pin 9 an der RS232 gemeint.
die RS232:
Code: Alles auswählen
1 - DCD, CD, RLSD - (Data) Carrier Detect - Eingang
2 - RxD, RX, RD --- Receive Data ---------- Eingang
3 - TxD, TX, TD --- Transmit Data --------- Ausgang
4 - DTR ----------- Data Terminal Ready --- Ausgang
5 - GND ----------- Ground ---------------- Minus
6 - DSR ----------- Data Set Ready -------- Eingang
7 - RTS ----------- Request to send ------- Ausgang
8 - CTS ----------- Clear to Send --------- Eingang
9 - RNG oder RI --- Ring Indicator -------- Eingang
Gruß, Naubaddi
Re: Zeitmessung per Taste
Hi,
ich habe da mal etwas vorbereitet, eine geänderte Version von "SerialPort" mit der man 4 Zeiten stoppen kann.
Die geänderte Version im Anhang ist nicht perfekt und es werden keine Fehler wie z.B. Taster mehrfach gedrückt abgefangen.
Anschluss der Taster an der RS232 zum Testen:
Taster 1 an CTS und DTR
Taster 2 an DCD und DTR
Taster 3 an DSR und DTR
Taster 4 an RNG und DTR
gestartet wird die Stoppuhr mit einem Klick auf "DTR", dabei wird auch "RTS" auf high gesetzt, so könnte man an "RTS" und "GND" z.B. ein Startlicht, Startton... anschließen.
ACHTUNG, gegen externe Spannung ist die RS232 nicht geschützt, also eine galvanische Trennung benutzen!
Ein Optokoppler ist z.B. eine galvanische Trennung.
Grüßle
ich habe da mal etwas vorbereitet, eine geänderte Version von "SerialPort" mit der man 4 Zeiten stoppen kann.
Die geänderte Version im Anhang ist nicht perfekt und es werden keine Fehler wie z.B. Taster mehrfach gedrückt abgefangen.
Anschluss der Taster an der RS232 zum Testen:
Taster 1 an CTS und DTR
Taster 2 an DCD und DTR
Taster 3 an DSR und DTR
Taster 4 an RNG und DTR
gestartet wird die Stoppuhr mit einem Klick auf "DTR", dabei wird auch "RTS" auf high gesetzt, so könnte man an "RTS" und "GND" z.B. ein Startlicht, Startton... anschließen.
ACHTUNG, gegen externe Spannung ist die RS232 nicht geschützt, also eine galvanische Trennung benutzen!
Ein Optokoppler ist z.B. eine galvanische Trennung.
Grüßle
- Dateianhänge
-
- Stoppuhr4x.tar.gz
- (74.7 KiB) 188-mal heruntergeladen
Gruß, Naubaddi
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Re: Zeitmessung per Taste
Öhhh ... Klasse ... danke
Viel schneller als ich. Ich werde mich schnellstmöglich ans testen machen und Dich auf dem laufenden halten.
Aber sei niche böse wenn es ein wenig dauert ... habe z.Z. noch andere Kriegsschauplätze.
DANKE

Viel schneller als ich. Ich werde mich schnellstmöglich ans testen machen und Dich auf dem laufenden halten.
Aber sei niche böse wenn es ein wenig dauert ... habe z.Z. noch andere Kriegsschauplätze.
DANKE

Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Re: Zeitmessung per Taste
An meinen Fragen läßt sich feststellen, das ich schon ewig nichts mehr mit Seriellen Schnittstellen zu tun hatte und über Gambas hat es "damals" problemlos geklappt.
Aber jetzt ... ich kann schon keinen Port öffen .. shell code
Aber jetzt ... ich kann schon keinen Port öffen .. shell code
michael@matearbeitstier ~ $ ps -ef | grep tty root 1484 1 0 09:25 tty1 00:00:00 /sbin/agetty --noclear tty1 linux root 1532 1526 1 09:25 tty8 00:01:25 /usr/lib/xorg/Xorg :0 -audit 0 -auth /var/lib/mdm/:0.Xauth -nolisten tcp vt8 michael 4690 4633 0 10:49 pts/1 00:00:00 grep --color=auto tty michael@matearbeitstier ~ $ dmesg | grep tty [ 0.000000] console [tty0] enabled [ 1.110981] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A [ 1.132656] 0000:00:03.3: ttyS4 at I/O 0xecb8 (irq = 17, base_baud = 115200) is a 16550AVermutlich nur ein kleiner dummer Fehler ...
Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
Re: Zeitmessung per Taste
Hi,
vergesse ich oft.
Grüßle
wie sieht es mit der Berechtigung aus?roemi hat geschrieben:...Aber jetzt ... ich kann schon keinen Port öffen...
Code: Alles auswählen
* USB/RS232 Berechtigung für den Benutzer aktivieren (Terminal)
sudo usermod -aG dialout USER
abmelden/anmelden nicht vergessen
Grüßle
Gruß, Naubaddi
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Re: Zeitmessung per Taste
Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
Re: Zeitmessung per Taste
Hi,
, wäre
nicht besser gewesen?
Und was macht man bei einem USB-RS232 Adapter der erst sichtbar ist wenn er angeschlossen ist?
Grüßle
sogar für Jedenroemi hat geschrieben:...Damit lässt sich zumindest schonmal der Port öffnen![]()

Code: Alles auswählen
chmod 660 /dev/ttyS0
Und was macht man bei einem USB-RS232 Adapter der erst sichtbar ist wenn er angeschlossen ist?
Grüßle
Gruß, Naubaddi
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Re: Zeitmessung per Taste
Hi,
ein Zwischenstand ... es klappt.
Hab es erst mal provisorisch getestet ... jetzt löte ich Taster an und fange an zu programmieren.
Danke Dir.
Keine Sorge, mir fallen schon noch ein paar Fragen ein.
Römi
ein Zwischenstand ... es klappt.
Hab es erst mal provisorisch getestet ... jetzt löte ich Taster an und fange an zu programmieren.
Danke Dir.
Keine Sorge, mir fallen schon noch ein paar Fragen ein.
Römi
Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
-
- Site Admin
- Beiträge: 425
- Registriert: So 11. Dez 2005, 20:05
- Wohnort: Hanau / Germany
- Kontaktdaten:
Re: Zeitmessung per Taste
Sodele, Taster sind gelötet. Vier an der Zahl.
Funzen auch.
Jetzt geht es ans schreiben.
Danke
Römi (der für jeden weiteren Tipp dankbar ist)
Funzen auch.
Jetzt geht es ans schreiben.
Danke
Römi (der für jeden weiteren Tipp dankbar ist)

Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de
http://www.roemi.de
Re: Zeitmessung per Taste
Hi,
das hört sich doch schon gut an, nimm doch einfach das weiter oben angehängte Programm "Stoppuhr4x" und passe es Deinen Anforderungen an. Es sollte kein großer Aufwand sein, (fast) jede Zeile hat eine kurze Bemerkung was sie macht. Die eingefügten Zeilen für das Stoppen sind mit ">-- Stoppuhr ---" und "--- Stoppuhr --<" eingefasst, ist nicht wirklich viel.
Grüßle
das hört sich doch schon gut an, nimm doch einfach das weiter oben angehängte Programm "Stoppuhr4x" und passe es Deinen Anforderungen an. Es sollte kein großer Aufwand sein, (fast) jede Zeile hat eine kurze Bemerkung was sie macht. Die eingefügten Zeilen für das Stoppen sind mit ">-- Stoppuhr ---" und "--- Stoppuhr --<" eingefasst, ist nicht wirklich viel.
Grüßle
Gruß, Naubaddi
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste