Forum: Projekte & Code USB Joystick Controller mit Mega8


von Stefan May (Gast)


Lesenswert?

Bitte beachten: Das ist nicht mein eigener Code. Ich finde nur das
Projekt bemerkenswert.

Wer einen Joystick selbst baut, kennt das Problem. Nutzt man den
Gameport, läßt die Genauigkeit sehr zu wünschen übrig. Modernen PCs ist
dieser sogar abhanden gekommen. USB-Controller kaufen? Leider nur mit
zwei Achsen und zwei Tasten. Viel zu wenig für den ambitionierten
Simulatorfan.

Abhilfe schafft ein USB Joystick Controller mit MEHR POWER. Mit einem
AVR Mega8 und ein paar passiven Bauteilen entsteht der ideale
DIY-Joystick mit 6 Achsen, 24 Tasten und Coolie-Hat.

http://www.mindaugas.com/projects/MJoy/

Der Quellcode basiert auf dem USB-Code von Igor Cesko und implementiert
einen HID-kompatiblen Joystick. Eine größere Variante mit noch mehr
Tasten und Funktionen ist mit einem Mega16 realisierbar. Der
Joystick-Controller wird von Windows XP/2000/98 etc. unterstützt und
benötigt keine zusätzlichen Treiber.

Mein Urteil: +++

ciao, Stefan.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ich hab mir den Quellcode mal angesehn: UAHH!!
Aber ansonsten recht interesant.

von Alexander P. (tollerteppich)


Lesenswert?

weis noch jemand etwas über dieses projekt ? da die homepage von sonem 
spamer übernommen wurde und alles mit werbe link voll gemacht hat

würde gerne ein joystik an den pc an schließen da ich noch ne alte 
fernsteuerung habe und auch eine cnc fräse mit einem bedienfeld steuern 
möchte.

von Stefan M. (Gast)


Lesenswert?

Du solltest mal die Application-Note AVR308 von Atmel durchschauen. 
AFAIK ist der Author des Projektes zu Atmel gegangen und hat den 
Quellcode als Application-Note veröffentlicht.

mfg, Stefan May.

von Alexander P. (tollerteppich)


Lesenswert?

ok danke für die info ich wuste bis dato nichtmal das atmel sowas hat 
... bin gerade erst dabei mich mit der materie zu beschäftigen

bist du sicher das AVR308 das richtige ist ?
ich habe da ne pdf gefunden die "AVR308: Software LIN Slave" beschreibt

ich wollte für ein tastatur projekt ein fertigen code nehmen da ich 
keine zeit habe mich jetzt intensiev damit zu beschäftigen und für eine 
cnc-fräse ein individuelles steuer element brauche.

ich bin aber dabei mich in die programmierung einzuarbeiten. schreibe 
gerade an einem programm das einen rc-kanal einlesen kann und dann 
verschiedene funktionen steuert.

gruß alex

von Alexander P. (tollerteppich)


Lesenswert?

mir würde auch ein HID-keyboard reichen muss kein joystik sein, man 
sollte später auch tasten kombinationen zuordnen können. ich weis nicht 
wie weit sowas geht. da gibt es sicherlich einen fertigen code denn man 
nur noch aufen chip brutzeln muss oder ?

gruß alex

von Stefan M. (Gast)


Lesenswert?

Ähm Tschuldigung, bin bei Copy und Paste in der Zeile verrutscht. 
Gemeint ist AVR309.

http://atmel.com/dyn/resources/prod_documents/doc2556.pdf
http://atmel.com/dyn/resources/prod_documents/AVR309.zip

mfg, Stefan.

von Potter S. (potter68)


Lesenswert?

Hallo Alexander,

ich habe ein simples HID-Keyboard mit ATmega8 und PDIUSBD12 
implementiert. Schau mal bei www.rahand.eu.

Gruß Ralf

von Alexander P. (tollerteppich)


Lesenswert?

hallo ralf,

ist es möglich an den ATmega8,  wovon ich bald 2 geliefert bekomme, auch 
eine tasten matrix anzuschließen um sage ich mal zB 16 oder 20 tasten 
zum bedienen von zb F3 F4 pfeil hoch/runter/rechts/links oder Bild 
ab/auf anzusteuern ?

weil ich eine fräs-software habe, die auch tastaturbefehle entgegennimmt 
um damit die fräse zu steuern.

jetzt hätte ich natürlich gerne direkt an der fräse ein "manuelles" 
bedienpult. kann man soetwas mit deiner software realiesieren ?

hallo steffan,

danke für die links allerdings weis ich nicht ob ich schon das nötige 
wissen habe mit diesen vielen dateien umzugehen... bis jetzt kann ich ne 
hex datei auf den chip brennen und bischel basik progen und 1.2. 
semester C programieren...

gruß alex

von Stefan M. (Gast)


Lesenswert?

Naja, mit C ist in dem AVR309 nicht viel. Das ist alles Assembler. 
Leider nicht schlüsselfertig zum in den AVR brennen.

Alternativ könnte der Key-Warrior für Dich interessant sein? Zu finden 
bei http://codemercs.de/.

mfg, Stefan.

von Rolf Magnus (Gast)


Lesenswert?

Für einen Joystick:
Wenn man etwas Platz für die Platine hat, kann man sich auch beim 
Blödmarkt ein billig-USB-Gamepad für 8 Euro kaufen, die Platine 
rausmachen und an die Kontakte für die Knöpfe Kabel anlöten. 
Funktionierte bei mir prima. Das Gamepad, das ich verwendet habe, hatte 
10 Tasten und ein digitales Steuerkreuz (also praktisch nochmal 4 
Tasten). Für ein paar Euro mehr gibt's auch welche mit analogem 
Daumenknubbel.

von Alexander P. (tollerteppich)


Lesenswert?

ja das habe ich mir schon gedacht steffan, asembler kann ich noch 
garnicht... das haben wir glaube im 3. oder 4. semester erst



mit Codemercs hab ich schon so meine erfahrungen gemacht, dieser IOW24 
den ich habe ist echt scheiße zu programieren. naja vieleicht liegt es 
an meinem nicht so übermäßig vorhandenen wissen, auf jedenfall steige 
ich bei dem chip nicht durch.

ich weis nicht wie das mit den KEY-Warrior`s ist ob die einfacher zu 
programieren sind... wenn ja währe das natürlich ganz nett ne 8x8 matrix 
für 15€ aber wie gesagt ich brauche etwas fast fertiges was einfach 
funktioniert da ich nicht so viel zeit habe.

die variante mit dem ganepad hatte ich auchschon angedacht evtl ist das 
die einfachste variante.

von Stefan M. (Gast)


Lesenswert?

Öhm, programmieren am Key-Warrior? Das Ding meldet sich am PC als 
Tastatur. Du mußt nur noch die Tasten dranknoten und mit dem Programm 
von codemercs die Tasten festlegen. Nicht eine Zeile C oder Assembler, 
nur ein bisschen löten.

mfg, Stefan.

von Alexander P. (tollerteppich)


Lesenswert?

hehe ok

wenn das dann doch so simple ist dann werde ich glaube solch einen holen

naja wie gesagt ich hatte schon so meine erfahrungen mit der firma ^^

ich werd mir den mal angucken, ich habe auch noch 100 alte tastatur 
tasten hier rumfliegen... ich glaube die beiden würden sich gut 
verstehen ^^

von Dominik (Gast)


Lesenswert?

Hab noch einen Link gefunden, um mal wieder zum eigentlichen Thema zu 
kommen...

http://www.flightsim.com/cgi/kds?$=main/howto/mind.htm

von tollerteppich (Gast)


Lesenswert?

hallo zusammen hat einer von euch das teil achon zum laufen bekommen ?

ich hatte es mal aufen mega8 geschubst und die fusebits entsprechend dem 
AVR fuse calculator eingestellt auf FF(low) 99(high) also (ext 
cryst./resonator high freq. mit startup von 16K ck + 64ms)

ich hatte noch 2 alte 12MHz quarze rumfliegen  (währe möglich das der 
fehler dort liegt defekt ?) werde ich in den nächsten tagen noch klären

naja die tasten bzw die potis habe ich erstmal nicht angeschlossen aufem 
steckbrett.

ich werd mal pull up oder down wiederstände an die ADC eingänge hängen

bis jetzt hats noch nicht gefunzt das usb teil einzubinden im system.

es kam nur die meldung unbekanntes usb gerät erkannt. ich vermute mal 
das es was mit der clock einstellung zu tun haben könnte und der chip 
nicht richtig mit dem usb bus komuniezieren kann ?!?

vieleicht hab ich die fuse bits auch nur falsch gesetzt...

mit fuse bits hatte ich schon immer so meine probleme ^^

falls jemand des teil schon zum laufen bekommen hat bitte ich ihn mal 
seine einstellungen zu posten

vielen dank schonmal im voraus ^^
viele grüße

von Route_66 (Gast)


Lesenswert?

@ -> tollerteppich

Ich habe Dienen Fehler enteckt! Die SHIFT-Taste ist kaputt.

von tollerteppich (Gast)


Lesenswert?

Ich finde das schon sehr geil das der 2 10bit achsen und 4 8bit achsen 
sowie 28 tasten hat

der joywarrior von codemercs hat da leider nur 4 8bit achsen und gerade 
mal 16 tasten...

insoweit finde ich das projekt sehr geil.

ich bin doch nicht der einzigste der solch einen chip geil findet ? oder 
?

von tollerteppich (Gast)


Lesenswert?

oh ein verkannter komiker.... wenn das alles ist was das forum hier zu 
bieten hat ist das sehr sehr traurig....

nur mal so nebenbei ich drücke absichtlich nicht die shift taste weil 
das meine kostbare zeit kostet die für was anderes besser nutzen kann ;)

bitte keine besserwisserischen streber antworten !

von Max (Gast)


Lesenswert?

Hallo,

ist es auch möglich daten zu bekommen auf das Modul?
um z.B ein Display oder Leds mit ansteuern kann

MFG Max

von tollerteppich (Gast)


Lesenswert?

an den Mega8 nicht da sind alle ports bis auf den reset pin belegt...

an nem mega 16 oder 32 ist das wieder was anderes....

wobei es gibt ne möglichkeit ein display über ports anzusteuern die auch 
gleichzeitig als taster benutzt werden aber ich glaube nicht das man mal 
so eben das umprogramieren kann ... ich kanns zumindest nicht ich 
asembler noch net checke und bis dato nur c und ein bischen basic 
kann...

hm hab jetzt die richtigen fuses herausgefunden EF für low und 99 für 
high muss es sein aber trotz der richtigen fuse läuft der chip noch 
nicht...

immer noch unbekanntes usb gerät... laut windows ob jetzt xp32 bit oder 
vista 64bit beides geht net

von Stefan M. (Gast)


Lesenswert?

@tollerteppich:

Zur Shift-Taste: Wenn Leute von Deinen Geschreibsel Augenkrebs bekommen 
sind sie auch nicht gewillt, Dir zu helfen. Ich werde aus Deinen 
Ausführungen leider nicht schlau.

Vielleicht wäre es aber ratsam, Deine Beschaltung zu prüfen.

mfg, Stefan.

von Thomas Fischer (Gast)


Lesenswert?

Hat noch irgendjemand den ursprünglichen Code rumliegen? Die oben 
angegebenen Application notes beziehen sich nicht auf einen Joystick 
sondern lediglich auf einen usb-rs232-adapter. Ich bräuchte aber 
speziell den joystick. Oder hab ich da jetzt was falsch verstanden?

mfg, Thomas

von Michael F. (startrekmichi)


Lesenswert?

Ich habe da mal ein "kleines" (3,3MB) Bündel geschnürt ;-)
Das sollte alles sein, was ich noch zu den beiden mjoys rumliegen hatte:
http://www.frangenberg.info/mjoy.zip

mfg
 Michi

von PillePalle (Gast)


Lesenswert?

www.codemercs.com - da wird ihnen geholfen :-)

Kleinstückzahlen über www.segor.de

von Stefan M. (Gast)


Lesenswert?

Die Sachen von CodeMercs sind a) verdammt teuer und b) kannst Du damit 
keinen Joystick mit mehr als 4 Achsen bauen. Zudem verwenden der 
JoyWarrior für 10 bit Auflösung einen schweineteuren A/D-Wandler von 
Maxim. Bäh pfui.

Mittlerweile gibt es aber ganz brauchbare USB-Stacks für den AVR, mit 
dem man auch den MJoy nachprogrammieren könnte. Dazu braucht man auch 
kein Assembler-Held mehr sein.

mfg, Stefan.

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Servus,

Hier, bitteschön, noch ein paar Dateien, die ich noch von der Seite 
habe.

Ach, wie ich dankbar wäre, wenn ich die Miniprojekte von Elektor, die es 
zu der Zeit gratis gab finden könnte... Aber daraus hab ich gelernt ;)

MfG,

Stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.