Datenaustausch zwischen PC und selbstgebauten Gamepad

Gast #4781680
Lesenswert?
• ▲
▼
Hallo zusammen,

ich möchte eine kleine Idee von mir relisieren und bin gerade dabei mir 
das ganze durch den Kopf gehen zu lassen, wie ich das realisieren 
könnte.

Es geht um ein kleines Gamepad, mit dem man am PC spiele steuern kann.

Das Gamepad zu realisieren ist jetzt nicht das Problem, sondern die 
verarbeitung der Daten am PC.

Frage 1:

Wie müssen die Informationen die das Gamepad an den PC sendet aussehen?
Reicht es, wenn ich die ADC werte die der µC ausgewertet hat zum PC 
weiterleite?

Frage 2:

Was benötige ich alles am PC, damit ich die Daten vom Gamepad 
verarbeiten kann um dann damit ein Spiel steuern kann? Benötige ich 
dafür nur einen Treiber oder noch mehr?

Hat von euch jemand Erfahrung damit und kann mir da einen Überblick 
geben, wie ich das mache?


Vielen Dank und schöne Grüße!
#4781691
Lesenswert?
• ▲
▼
Man nehme einen USB fähigen µC und implementiere das USB HID Protokoll.

Klingt aufwändiger als es ist, denn praktisch alle Hersteller liefern 
zum USB den HID als Beispielcode mit. Allerdings meistens als Maus oder 
Tastatur und nicht als Joystick, aber so 95% des Codes ist fertich.

In die Report Deskriptors musst Du Dich aber vermutlich einlesen.

Treiber & Co. sind dann auf dem PC nicht erforderlich bzw. schon 
vorhanden.
Gast #4782225
Lesenswert?
• ▲
▼
O.K,

ich habe bis jetzt nur einen ATMEL aus der AVR reihe programmiert.
Für mich gibt es eigentlich nur den AT90USB soweit ich das sehen konnte, 
doch dieser hat keien ADC eingände.

Sind die ATMEL die nicht aus der AVR Familie kommen gleich zu 
programmieren oder ist es schwieriger diese zu programmieren?

Mfg
(Firma: matzetronics) #4782289
Lesenswert?
• ▲
▼
Wenns nur für den eigenen Spass ist und nicht zum verkaufen, kann man 
auf den kleinen 'normalen' AVR auch V-USB einsetzen, einen Software USB 
Stack für Peripherie:
https://www.obdev.at/products/vusb/index.html

Das klappt mit so gut wie allen AVR, die ein wenig mehr Flash haben. Die 
stabilsten Versionen laufen mit Quarz oder externem Quarzoszillator.
Da gibts auch jede Menge fertiger Projekte.
#4782783
Lesenswert?
• ▲
▼
Helpme91 schrieb:

> Es geht um ein kleines Gamepad, mit dem man am PC spiele steuern kann.
>
> Das Gamepad zu realisieren ist jetzt nicht das Problem, sondern die
> verarbeitung der Daten am PC.

Wenn Du den PC über den sog. Gameport steuern willst, ist das
überhaupt kein Problem. Dann brauchst Du nur ein Poti (bzw. 4),
um den PC zu steuern. Die AD-Wandlung macht der PC. Es gibt m.W.
auch "Gameportkarten" mit USB-Ausgang. Allerdings ist der Game-
port ziemlich aus der Mode geraten. Wenn Du direkt über USB
steuern willst, wird es deutlich aufwändiger und Du musst eine
der sonstigen, in diesem Thread beschriebenen, Methoden benutzen.
#4782811
Lesenswert?
• ▲
▼
Harald W. schrieb:
> Wenn Du den PC über den sog. Gameport steuern willst, ist das
> überhaupt kein Problem.

Den gibt es unter Windoof nicht mehr. Es funktionieren nur noch USB-HID 
Joysticks.

Ja, man könnte älteres OS benutzen. Damit geht aber kein DirectX 12, was 
dem Zocker so auch nicht gefällt.

Gammelige Gameport->USB Adapter will man nicht benutzen, insbesondere 
wenn man viel einfacher USB direkt an den µC koppeln kann.
Gast #4782866
Lesenswert?
• ▲
▼
Danke für eure Hilfe.

Ich möchte auf jeden Fall den Atmega32U4 verwenden, wenn folgende Punkte 
erfüllt sind:

1. Er kann mit dem AVR Dragon board programmiert werden. Was ich im Netz 
gesehen habe sollte das Board auch den Atmega32U4 programmieren können.
Stimmt das?

2. Er bietet mir genug ADC & I/O eingänge an. ADC's hat er auf jeden 
Fall genug, das habe ich schon geprüft. Im Danteblatt habe ich etwas von 
26 I/O Pins gelesen, stimmt das?


MfG
Gast #4782953
Lesenswert?
• ▲
▼
Helpme91 schrieb:
> 1. Er kann mit dem AVR Dragon board programmiert werden. Was ich im Netz
> gesehen habe sollte das Board auch den Atmega32U4 programmieren können.
> Stimmt das?

Ja. Der Dragon kann u.a. alle AVRs programmieren, die eine 
ISP-Schnittstelle haben. Der Mega32U4 gehört dazu. Ich hab damit mein 
selbstgebautes Lenkrad und Zubehör mit dem Rechner verbunden.
(Firma: matzetronics) #4783161
Lesenswert?
• ▲
▼
Bernd K. schrieb:
>> Wenns nur für den eigenen Spass ist und nicht zum verkaufen, kann man
>> auf den kleinen 'normalen' AVR auch V-USB einsetzen
>
> Das kann man auch wenn mans verkaufen will, nur sollte man sich dann
> beim Konsortium kostenpflichtig eine Vendor ID zuteilen lassen.

Naja, es geht nicht nur um die Vendor ID, sondern auch darum, das V-USB 
zwar normalerweise gut funktioniert, aber trotzdem ein Hack bleibt. Es 
klappt eben nicht immer und überall. Ausserdem ist die Pegelanpassung 
immer ein Spass.
Gast #4783215
Lesenswert?
• ▲
▼
>26 I/O Pins

Mit den Kombinatonen aus Spzialfunktionen auf den Pins geht immer 
irgendwas schief. Am besten eine genaue Liste, welchen Pin du für was 
benutzen willst und 3 mal kontrollieren, ob das wirklich so geht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren