Hi,
Ich möchte ein elektronisches punktesystem bauen, bei dem mehrere
punkterichter zwei taster haben, mit denen sie jeweils 0,1 bzw. 0,5
punkte vergeben können, diese punkte sollen dann auf dem pc angezeigt
und zusammengezählt werden. Wie mache ich das am besten? Habe mir schon
überlegt über bluetooth klasse 1 (wegen der Reichweite, sollte schon bis
zu 30m gehen), oder über funk. USB wäre auch noch eine möglichkeit, die
langen Kabel sind dann allerdings lästig und auch teuer. Bitte um eure
Hilfe
Hallo luke,
Funk wäre möglich. Ob jetzt Bluetooth sinnvoll ist hängt sicher davon
wie du das System genau bauen möchtest. Ansonsten könntest du auch z.B.
auf 433 MHz oder 2,4 GHz senden ... gibt ja z.B. von HopeRF verschiedene
Module.
Gruß
Stephan
Danke Stephan für deinen Tipp.
Wie würde so ein modul dann ja an den pc anschließen und eine software
dazu programmieren, die die punkte dann graphisch anzeigt. Wie kann ich
solche individuellen Module selbst bauen?
@butsu:
es wären 5 punkterichter, die jeweils 2 taster d.h. 2 möglichkeiten
haben. ich möchte im prinzip nur die punkte, die jeder richter vergibt
dann auf meinen pc senden und da graphisch ausgeben.
Hallo Lukas,
erzähl einfach mal, in welchen Bereichen du dich auskennst. Hast du
schonmal etwas mit Mikrocontrollern gemacht oder eine Softwareanwendung
unter Windows oder Linux geschrieben?
Gruß
Stephan
Ich habe schon etwas erfahrung mit Mikrocontrollern und habe in C, C#,
html, php und bisschen java schon programmiert. ich komme von einer htl
bereich elektronik/techn. informatik
Hallo Lukas,
ganz spontan würde ich es in etwa so lösen:
1) Handsender für die Punkterichter konstruieren mit den nötigen
Tastern. Dort läuft dann ein kleiner Microcontroller, welcher bei
Betätigung eines Tasters z.B. ein RFM70 oder RFM12 von HopeRF ansteuert
(30 Meter Reichweite sollten da drin sein).
2) Eine Basisstation mit passendem Funkmodule und Microcontroller
aufbauen. Diese Basisstation würde ich einfach per RS-232 mit dem
Computer verbinden.
3) Auf dem Computer würde eine kleine selbstgeschriebene Software über
die serielle Schnittstelle mit der Basisstation kommunizieren und so die
empfangenen Punkte auf dem Bildschirm ausgeben.
Gruß
Stephan
Wenn das ein Wettbewerb sein soll, in dem mehrere hundert Personen auch
noch mit Handys und Walkie-Talkies rum rennen, dann musst du schon eine
etwas größere Sende-Leistung mal kalkulieren, sonst kommt Dein Signal
nicht durch. Zudem braucht es ein gutes fehlertolerantes Protokoll.
Sonst klappt das nur auf Deinem Wohnzimmertisch.
PS: Mache am besten noch eine Kabel-Möglichkeit, z.B. über CAN-Bus oder
RS485. Denn wenn Funk doch nicht klappt, kann immer noch schnell ein
Kabel angeschlossen werden.
wie würde die lösung mit kabel dann konkret ausschauen? wie komme ich
damit auf den pc und dann bräuchte ich ja noch spezeille für meine
sender geeignete treiber oder?
PC > Seriell/RS485 Wandler > Box1, Box2, Box3, Box4, Box5
RS485 hat ja nur 2 Drähte, die einfach zu allen Boxen hin legen.
Besser:
Eine Box mit µC am PC legen, die wird mit dem PC seriell verbunden.
Die Box hat Funkmodul und einen CAN Anschluss.
Jede Box 1..n hat auch Funk und einen CAN Anschluss.
Nun kann das ganze entweder über Funk oder über CAN Bus funktionieren.
CAN hat auch nur 2 Drähte und wird wie bei RS485 durchgeschleift.
ich muss im prinzip doch nur abfragen, ob einer der taster beim
punkterichter gedrückt wurde oder nicht, da gibt es ja nur ein ja oder
nein. gibt es nicht noch eine einfachere möglichkeit? bsp: box mit
tastern, wenn eine taste gedrückt wurde wird ein spannungspegel über die
leitung zum pc auf eine best. schnittstelle gesendet und die
schnittstelle wird dann von einer software ausgelesen. ohne viel mit
mikrocontrollern zu machen. oder ist das nicht möglich?
Hallo Lukas,
doch, klar ist das auch möglich. Aber dann kannst du die Funkvariante
erstmal von der Liste streichen ;)
Du kannst natürlich auch ganz einfach zwei Leitungen zum Handmodul
führen und der Taster verbindet diese dann miteinander. Anschließend
könntest du z.B. das Signal direkt auf die parallele Schnittstelle des
Computers legen. Falls keine parallele Schnittstelle zur Verfügung steht
könntest du irgendein fertiges USB-Interface etc. nehmen (oder eben doch
eine kleine Microcontrollerschaltung aufbauen).
Die Softwareseite auf dem Computer gestaltet sich nicht allzu schwierig.
Falls du doch Funk willst, könntest du auch mal schauen, ob du nicht ein
passendes System mit fertigen Handsendern findest. Gibt ja durchaus
fertige Schaltungen um per Funk z.B. eine Relaiskarte zu schalten.
Wichtig wäre halt, dass du mehrere Sender parallel betreiben kannst.
Gruß
Stephan
Lukas Dönz schrieb:> ich muss im prinzip doch nur abfragen, ob einer der taster beim> punkterichter gedrückt wurde oder nicht, da gibt es ja nur ein ja oder> nein.
Ganz so direkt geht das nicht, schließlich gibt es noch so häßliche
Dinge wie Tastenprellen und unruhige "Drückfinger". Du mußt die Signale
von den Tastern also erstmal filtern und nur wenn z.B. eine bestimmte
Mindestdauer des Tastenpulses und Mindestpausendauer zwischen zwei
Tastendrücken registriert wird, darf das als gültiger Tastendruck
weiterverarbeitet werden.
angenommen ich lege die leitungen einfach von den tastern zu einem usb
hub mit 5 eingängen, der dann auf den usb eingang vom pc geht. durch
drücken der schalter werden einfach die 5V pegel die der usb braucht um
eine 1 zu erkennen (soviel ich weiß) zum pc gesendet. in c# z.b. kann
ich ja dann die einzelnen eingänge des usb hubs dann abfragen und
auswerten oder? tastenentprellung könnte man dann mittels einem timer in
c# dann ja auch lösen.
Lukas Dönz schrieb:> angenommen ich lege die leitungen einfach von den tastern zu einem usb> hub mit 5 eingängen, der dann auf den usb eingang vom pc geht. durch> drücken der schalter werden einfach die 5V pegel die der usb braucht um> eine 1 zu erkennen (soviel ich weiß) zum pc gesendet.
Mit deinem Vorwissen solltest du USB ganz schnell vergessen.
Was spricht dagegen, eine komerzielle Tastatur auszuschlachten und die
Kabel zu verlängern bzw. zu überlegen wie man das Kabel länger machen
kann. PS/2 Tastatur, nicht USB.