- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: USB-Joystick mit Visual Basic auslesen

  1. #1
    Devastator
    Gast

    USB-Joystick mit Visual Basic auslesen

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute,
    da hier im Netz andere User sehr hilfreiche Anleitungen, Erfahrungen oder nur ihre geistigen Ergüsse zum Besten gegeben haben, will ich jetzt auch mal was "anbieten"
    Ich sage es gleich zu Beginn:

    Dieses Programm stammt nicht von mir. Ich habe es im Internet gefunden und für meine Zwecke modifiziert!

    Dieses Programm wurde von mir auf meinen Thrustmaster Afterburner II Joystick geändert. Es können X, Y, Z und die Schubkontrolle sowie 8 Buttons ausgelesen werden (der POV-Button geht leider nicht).

    Mit eine wenig Gedult kann auch ein Visual Basic Anfänger (wie ich) das Programm für seine Zwecke ändern.

    Ich habe die ZIP-Datei mit AVG und AntiVir gescant und keinen Virus gefunden.

    Gruß
    Devastator

    Anmerkung: Dieses Programm funktioniert auch mit anderen Joysticks. Die nicht verwendeten Achsen oder Buttons zeigen dann nichts oder unsinnige Werte an.
    Angehängte Dateien Angehängte Dateien

  2. #2
    Devastator
    Gast
    \/
    Hallo Leute,
    ich versuche zur Zeit mit einigen Leuten von
    www.visualbasic.at
    das Joystickprogramm mit dem RN-Motor Programm zu verbinden.
    Beim aktuellen Stand sind zwar beide Programme zu einem zusammengefügt, leider kann ich noch nicht direkt die Joystickwerte zum ansprechen von RN-Motor verwenden.

    Ich werde aber mal eine Vorabversion als fertige exe-Datei in den Anhang legen.

    Devastator

    PS: Wenn es funktioniert, werde ich mich wieder melden.

    Ein Feedback zu den Programmen oder Anregungen wären nicht schlecht
    Angehängte Dateien Angehängte Dateien

  3. #3
    Devastator
    Gast

    Programm läuft!!

    =D> \/
    Es ist so weit,
    mit viel Hilfe von einigen Visual Basic Freaks konnte das RN-Motor programm mit dem Joystickprogramm "verknüpft" werden.
    Zur Zeit habe ich es nur so eigestellt, dass bei Überschreitung von 15000 bei dem Wert dblSLD der Befehl für "Motor ein" gesendet wird (nur bei dem linken Motor). Ist der Wert <15000 so wird "Motor aus" gesendet.
    Kann man leicht prüfen wenn man den Motor auf "Endlos drehen" stellt.

    Leider habe habe ich noch einige Probleme:

    Durch das permanente Abfragen der Werte scheint das Programm sehr langsam zu laufen.

    In beiden Fällen werden permanent Befehle gesendet, auch wenn sich am Zustand nichts geändert hat.

    Kann da jemand mit Visual Basic Erfahrung helfen???

    Gruß Devastator
    Angehängte Dateien Angehängte Dateien

  4. #4
    Devastator
    Gast

    Langsames Abarbeiten der Schleife

    Das ständige versenden von Steuerbefehlen konnte mittels
    DoEvents beseitigt werde (glaube ich zumindest)

    Leider ist das Programm immernoch so langsam, dass der Motor bei einem Notstop immer noch ca. 5 Sekunden weiter läuft. Das ist schlecht und würde im Extremfall den "Treppenrunterfalltod" bedeuten!

    Code:
    Private Sub Timer1_Timer()
    CheckInput
    
    Timer1.Enabled = False
    Timer1.Interval = 250
    Dim Schleife&
    Timer1.Enabled = True
    
    DoEvents
    For Schleife = 1 To Timer1.Interval
        If Schleife = Timer1.Interval Then
           If X = 1 Then
                  SendBefehl "#rma" & Chr(0), "Ok" 'Motor ausschalten
           ElseIf X = 2 Then
                  SendBefehl "#rmo" & Chr(0), "Ok" 'Motor einschalten
            Else
           End If
       End If
    Next Schleife
    
    End Sub
    Hier ist mal ein Ausschnitt aus dem Programm.
    An einer anderen Stelle im Programm (DInputModul) wird mittels Case Entscheidung festgelegt wie groß der X-Wert ist.

    Code:
            Select Case dblX
            Case 0 To 10000
                X = 1
            Case 10001 To 20000
                X = 2
            Case 20001 To 30000
                X = 3
            End Select
    Vielleicht ist das ja nicht die tollste Lösung, vor allem weil der Timer1 eigentlich den Abfrageintervall für das Auslesen der Joystickachsen festlegt. Aber ich habe auch schon einen zweiten Timer (Timer2) angelegt und wollte dort die Schleife reinpacken. Dort ist nichts passiert.

    Wenn sich das Problem mit der Zeitverzögerung lösen lässt, dann kann jeder (der einen Joystick hat) ganz einfach das Programm für seine Bedürfnisse abändern.


    BITTE HELFT MIR

    gruß Devastator
    Angehängte Dateien Angehängte Dateien

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    13.12.2004
    Beiträge
    24
    hab mir auch so ein programm zum auslesen der joystick werte "gebastelt" allerdings für mein gamepad:
    11 Buttons 4 achsen und ein POV-Ding

    is leider ein bischen ein chaos weils noch nicht fertig is für meine zwecke
    aber die daten vom Gamepad sind da
    Angehängte Dateien Angehängte Dateien

  6. #6
    Gast
    hey ich und ein freund wollen einen mopetmoter via controller und laptop , durch mit joystick steuern.
    kann uns jemand ein tipp geben?

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2004
    Ort
    Aschbach
    Alter
    36
    Beiträge
    223
    Hi Leute,
    weis jemand wie ich mein Coolie Hat( 8Wege-Controller oben auf Joystick) in Visual Basic auslesen kann? Ich besitze den Saitel Cyborg Evo Wireless Joystick.


    Mfg
    Sven

  8. #8
    Ich weiß, dieses Thema ist schon sehr alt.
    Kann mir trotzdem jemand sagen wo ich den Programmcode herbekomme?

  9. #9
    Erfahrener Benutzer Roboter Genie Avatar von Willa
    Registriert seit
    26.10.2006
    Ort
    Bremen
    Alter
    44
    Beiträge
    1.273
    Ich weiss nicht wie in diesem Thread die Joystickauswertung funktioniert, wenn du im Wiki mal nach "Joystick" suchst, findest du einen Artikel von mir mit einer anderen funktionierenden Variante...
    Viele Grüße, William
    -> http://william.thielicke.org/

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress