Autor |
Möchte was basteln: Einen PC "Mehrpersonen Buzzer" per Hand Taster Suche nach: taster (7673) |
|
|
|
|
BID = 674549
marcus670370 Gerade angekommen
Beiträge: 7 Wohnort: 46325
|
|
Na ja: Eigentlich ist es kein PC Mehrpersonen Buzzer, sondern eine zeitliche Registrierung unterschiedlich schnell eingehender Signale per Hand - Taster. (Sowas wie ein Reaktionstest für mehrere Teilnehmer)
Die "Zutaten":
20 Hand Taster für 20 Mitspieler
1 Notebook
Was ich basteln möchte:
Eine Schnittstelle: eine Platine die ich dazwischen baue. Das Notebook soll halt registrieren, wer als 1. drückt, wer als 2. drückt usw. Genial wäre, wenn der zeitliche Abstand vom Programm dokumentiert würde. Das Sahnehäubchen wäre, wenn das Programm das auch noch grafisch darstellen könnte.
Meine Überlegungen:
An welchen Anschluss soll ich das anschließen? Kann ich besser ein Notebook nehmen oder besser einen alten PC? (Notebook wäre mir ja lieber).
Meine Lötfähigkeiten:
SMD Löten kann ich nicht gut. Diskrete Bauteile kann ich einigermaßen gut löten.
Meine Programmierkenntnisse:
Ich kann halt BASIC programmieren und ein wenig Pascal. Bei anderen Sprachen hören meine Kenntnisse leider auf. Gibt es vielleicht schon eine Software, die ich nur noch ein bißchen einstellen muss?
Übrigens: Falls jemand noch sowas im Bastell Keller hat, bin ich gerne bereit etwas dafür zu investieren.
Erstmal vielen Dank für Eure Antworten. Freue mich auf jeden Beitrag, da ich ja vollkommen im Dunkeln stehe
|
|
BID = 674550
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
|
Hallo marcus670370 und herzlich Willkommen im Elektro- und Elektronikforum!
---
Hat dein Notebook einen LPT-Anschluss?
Wenn ja, welches Betriebssystem läuft drauf?
Da du BASIC kannst, wäre eine Möglichkeit, die LPT-Schnittstelle auszulesen (dort kommen ein paar Logikgatter ran, damit man 20 Eingänge hat) und mit Visual Basic weiterzuverarbeiten.
Allerdings wird die Genauigkeit vielleicht geradeso im 10ms-Bereich liegen.
Soll es genauer werden und mit USB funktionieren, musst du deine SMD-Löttechnik verbessern und das Programmieren eines kleinen Controllers lernen (geht auch mit BASIC).
Aber grundsätzlich: ob COM-Schnittstelle (RS232), USB oder LPT - das ist eigentlich nicht schwierig .
_________________
|
|
BID = 674551
marcus670370 Gerade angekommen
Beiträge: 7 Wohnort: 46325
|
Emm: woran erkenne ich einen LPT Anschluss?
Also ein USB Anschluss ist auf jeden Fall dran.
Im 20 ms Bereich - das wäre schon vollkommen ausreichend.
BASIC; genau das alte BASIC - Visual Basic kann ich leider nicht. Hab' halt das letzte Mal in den 90 er Jahren etwas programmiert
Danke erstmal für die Hilfe.
|
BID = 674555
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| woran erkenne ich einen LPT Anschluss? |
LPT ist die parallele Druckerschnittstelle, ein 25-poliges Sub-D-Weibchen.
|
BID = 674558
marcus670370 Gerade angekommen
Beiträge: 7 Wohnort: 46325
|
Dankeschön: Nee: Ein Druckeranschluss ist nicht angeschlossen.
Vielleicht wäre die USB Variante vorzuziehen: Weil auch bei zukünftigen Notebooks- USB ist ja voraussichtlich immer dran. Nun ja. Freue mich auf Ideen, wie ich das ganze umsetzen kann.
|
BID = 674565
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Hast du denn eine COM-Schnittstelle am Notebook? (9-poliger D-SUB, männlich)
Allerdings kannst du BASIC (ich vermute irgendein QBASIC) dafür vergessen, wenn es mit USB laufen soll.
Derlei Schnittstellen wären vorzuziehen, da man sie recht einfach im Programm benutzten kann.
Visual BASIC ist gar nicht so schwer, wenn man eh schon BASIC kann. Das ist einfach eine Erweiterung, die objektorientiert ist. Ich habe mal die Version 6.0 gehabt (da war ich glaube ich 11 oder so ).
Gut, also, wenn es mit USB laufen soll schlage ich einen einfachen USB->RS232-Wandler vor, wie man sie mittlerweile für einige Kröten bekommt. Das erspart dir den Selbstbau dieses Adapters (kann man mit dem FT232 von FTDI machen).
Mir fallen jetzt spontan zwei Möglichkeiten ein:
1. du hängst einen Haufen Schieberegister an die Schnittstelle, die von der Software am Rechner ausgetaktet werden. Dazu sind allerdings Low-Level-Zugriffe nötig, die mit dem Adapter entweder nicht herkömmlich funktionieren, und/oder das Betriebssystem derlei Zugriffe gar nicht zulässt, sondern über einen Treiber mit der Schnittstelle kommuniziert.
Neben den genannten Nachteilen ist es furzlangsam.
2. du setzt dich mit Mikrokontrollern auseinander, wie z.B. dem ATMega8 von Atmel. Der lässt sich bequem in QBASIC ähnlichem BASIC (BASCOM heißt das) programmieren und verfügt über eine richtige serielle Schnittstelle. Du kannst dann sowohl über "richtiges" RS232 als auch mit dem Adapter Daten zum Computer senden. Das geht unter XP glaube ich transparent. In VB gibt es meines Wissens sogar eine Active-X-Komponente, die alles RS232-ähnliche einfach zugänglich macht.
Der Mikroprozessor kann dann die Messung der Reaktionszeiten übernehmen und zum Rechner übertragen, wo sie mit VB aufgearbeitet werden.
Unter Linux mit C sind das ca. 15 Zeilen .
_________________
|
BID = 674622
jokrautwurst Stammposter
Beiträge: 422 Wohnort: Rödelsee
|
Meine Lösung besteht aus der billigsten USB-Tastatur, die du finden kannst, und eben 20 Handschaltern.
Deine 20 Schalter "bedienen" dann die Buchstaben a bis t.
Jo
|
BID = 674631
marcus670370 Gerade angekommen
Beiträge: 7 Wohnort: 46325
|
Hallo. Danke - das muss ich jetzt erstmal aufarbeiten --> also das läßt sich auf jeden Fall einrichten.
Hast du ggf. sowas wie einen Schaltplan, wie so eine Platine an der seriellen Schnittstelle aussehen könnte?
Oder gibt es ggf. sowas schon in "fertig" ?
Viele Grüße, Marcus
[ Diese Nachricht wurde geändert von: marcus670370 am 3 Mär 2010 8:27 ]
|
BID = 674632
marcus670370 Gerade angekommen
Beiträge: 7 Wohnort: 46325
|
Hallo. Die Idee mit der USB Tastatur finde ich ja genial "einfach". Aber dann kann ich wohl nicht mehr den Computer via normaler (eingebauter) Notebooktastatur bedienen. Um zum Beispiel das Kommando "Beginne" oder "werte aus" oder "drucke" usw. einzugeben. Mmh. Ansonsten hört sich das ja traumhaft einfach an. Tastatur auseinander bauen, Handtaster anlöten. Fertig.
Aber einen "Schönheitsfehler" hat die Sache vermutlich: Wenn zwei oder drei oder mehr Personen "gleichzeitig" den Taster drücken und nicht im selben Sekundenbruchteil den Taster wieder loslassen, dann sperrt vermutlich der erste Drücker den Nächsten. Eben so, als würde ich eine Taste gedrückt halten ..................und dabei eine andere drücken wollen. Mmh. Oder läßt sich das umgehen?
|
BID = 674676
jokrautwurst Stammposter
Beiträge: 422 Wohnort: Rödelsee
|
Die Tastaturen sollten parallel funktionieren, also bleiben dir von den 100 Tasten, die so eine normale Tastatur hat, noch genug übrig, um deine zusätzlichen Kommandos zu geben. Und das sogar von der eingebauten Tastatur aus.
Zu dem Problem mit den Mehrfach gedrückten Tasten: Du hast Recht, eine gedrückte Taste könnte eine oder mehrere Andere sperren. Das liegt daran, dass auf einer PC-Tastatur davon ausgegangen wird, dass immer nur eine Taste gleichzeitig gedrückt wird. Das ließe sich mit zusätzlich eingebauten Dioden umgehen. So können in der Tastenmatrix noch Buchstaben unterschieden werden.
Oder man baut die Buzzer so, dass sie eine Taste immer nur für sagen wir mal 10ms schließen, also dass die Buzzer -egal wie lange sie Gedrückt werden- immer nur einen Impuls ausgeben.
Jedenfalls denke ich, dass die Tastaturlösung auf PC-Seite genau so einfach wie die Serielle Anbindung zu programmieren ist, auf Hardware-Seite fällt überhaupt kein Programmieraufwand an.
Jo
|
BID = 674677
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Das liegt daran, dass auf einer PC-Tastatur davon ausgegangen wird, dass immer nur eine Taste gleichzeitig gedrückt wird |
Nein, heutige Tastaturen können alle N-Key-Rollover.
Alerdings muss N nicht beliebig gross sein, da normale Sterbliche nur 10 Finger haben, und die wenigsten auch noch mit dem Zehen schreiben.
|
BID = 674683
marcus670370 Gerade angekommen
Beiträge: 7 Wohnort: 46325
|
Zitat: " Das ließe sich mit zusätzlich eingebauten Dioden umgehen."
Wie genau müßte ich sowas umbauen?
Diese Idee finde ich besonders gut:
"Oder man baut die Buzzer so, dass sie eine Taste immer nur für sagen wir mal 10ms schließen, also dass die Buzzer -egal wie lange sie Gedrückt werden- immer nur einen Impuls ausgeben." -->
--> Frage: Welche Elekronik müßte dann so ein Buzzer haben, um dies zu leisten?
Danke erstmal. Ich hätte nicht gedacht, dass man so viele Ideen dazu haben kann
|
BID = 674684
marcus670370 Gerade angekommen
Beiträge: 7 Wohnort: 46325
|
Zitat: "Nein, heutige Tastaturen können alle N-Key-Rollover.
Alerdings muss N nicht beliebig gross sein, da normale Sterbliche nur 10 Finger haben, und die wenigsten auch noch mit dem Zehen schreiben."
Ich Oute mich mal: Ich verstehe gerade mal nur "Bahnhof".
Was bedeutet N Key Rollover? Wie kann ich diese Information für mein Projekt verwerten?
|
BID = 674691
jokrautwurst Stammposter
Beiträge: 422 Wohnort: Rödelsee
|
Stimmt Perl, ich hab vergessen dass es sowas wie Strg-Alt-Entf auch geben muss. 10 Tasten ist auch noch gut genug, wenn man zwei billige USB-Tastaturen zerlegt.
Man könnte das auch mit sowas hier lösen: Klickmich Da es hier keine Tastenmatrix gibt, können mehrere Tasten gleicheitig gedrückt werden. Dafür muss man aber schon wieder einen Mikrocontroller programmieren. Zudem ist das nicht unbedingt ein Einsteigerprojekt in diese Thematik.
Was die Sache mit den Impulsen angeht: Ein Monoflop tut das was du willst.
Such mal nach "NE555 Monoflop" hier in der Forumssuche. Der gute 555er ist robust und billig. Also 20 Monoflops in die 20 Buzzer Bild eingefügt integrieren, und zu jedem Buzzer müssen nur noch 3 Adern gezogen werden.
Die Anbindung an die PC-Tastatur erfolgt dann mittels Optokopplern. So sollte das alles auch relativ störsicher machbar sein.
Jo
PS: Key Rollover
[ Diese Nachricht wurde geändert von: jokrautwurst am 3 Mär 2010 12:53 ]
|
BID = 674695
GeorgS Inventar
Beiträge: 6450
|
Aus dem Link von jokrautwurst:
Zitat :
| USB-Tastaturen verwenden ein festes Zeitraster, in dem die Daten übertragen werden, typischerweise alle 8 ms. Demgegenüber sendet eine PS/2-Tastatur eine Statusänderung sofort. Manche Computerspieler behaupten, hier eine deutliche Verzögerung zu bemerken. |
Also 8 ms Auflösung!
Das könnte viele "unentschieden" verursachen.
Gruß
Georg
_________________
Dimmen ist für die Dummen
|