Beiträge von treki

    Hier noch die Python Scripts.

    Mit dem kalib.py kann man die Servos kalibrieren. Mit + / - erhöht/verkleinert man die % des PWM Tastverhältnisses um 0.5-Schritte.

    Die Werte für 8-Weg bzw 4-Weg notieren und dann in den 4 Scripts 4wayP1.py .... 8wayP2.py eintragen.

    Bsp:

    pos = 6.0 # Position in %

    Habe mir eine Lösung zusammen gepflastert, welche mir künftig erlaubt, die Joystick-Servos beim Start eines Games automatisch anzusteuern.

    So werden die Joystick Restriktoren automatisch auf 4 oder 8-Wege eingestellt.


    Habe in /opt/retropie/configs/all/runcommand-onstart.sh

    Code
    1. bash "/home/pi/4or8way.sh" "$@"


    eingetragen und folgendes Script in /home/pi/4or8way.sh gespeichert:



    Die Namen der 4-Wege Games habe ich in der Datei /home/pi/4way.games gespeichert.

    Immer 1 Name pro Zeile. Der Game-Name wird beim Aufruf von diesem in /home/pi/game.name.txt gespeichert (am Schluss mit Endung .zip)


    Bei mir sieht die 4way.games Datei so aus:



    Alle Games, welche nicht in der Datei 4way.games stehen, werden mit 8-Wege Joystick ausgeführt.


    Mechanischer Zusammenbau:


    Die 2 schwarz markierten Stellen am Restriktor (ss7.jpg) mit dem Dremel flach fräsen (siehe ss8.jpg).

    Wenn der Restriktor flüssig gedreht werden kann, nochmal rausnehmen und etwas Staburags NBU8EP Fett auftragen.

    Siehe dazu auch ss9.mp4 in den Video Links.


    Den gefrästen Hebel habe ich mit Neoprenkleber auf den Restriktor geklebt. Da wird sicher Multi Bond oä auch halten.


    Auf den Bildern sieht man unter Anderem die SG90 micro Servos, deren Befestigung und die Stahlstäbe (D 0.8x80mm). Beides von Aliexpress.


    Video Links:

    https://www.xup.in/dl,38205180/funktion.mp4/

    https://www.xup.in/dl,89859306/funktion2.mp4/

    https://www.xup.in/dl,59675161/ss9.mp4/

    Clyde hat eigentlich das meiste gesagt.

    Ich tippe auf Soundkarte bzw Verstärker.

    Mach mal testeshalber den Sound über die 3.5mm Klinke auf Deine Anlage, Boombox oder ähnlich.

    Hallo Gemeinde

    Finde per Google iwie nicht das, was ich möchte ^^

    Ich möchte beim starten eines MAME Games (Retropie) jeweils zuerst ein bestimmtes Python-Script aufrufen.

    Das Script steuert dann Servos an, welche die Restrictoren der Joysticks umstellen (4/8 Weg).

    Wo muss ich diesen Aufruf einfügen?

    Bsp:

    Aufruf PacMan > Ausführen "python servo_pos_4way.py" > weiter zum Boot von MAME mit PacMan

    Aufruf MortalKombat > Ausführen "python servo_pos_8way.py" > weiter zum Boot von MAME mit MortalKombat


    Das Gleiche beim Aufruf eines DOS Games:

    Aufruf NFSSE > Ausführen "python servo_pos_8way.py" > weiter zum Boot von Dosbox mit NFSSE


    Habe nach https://retropie.org.uk/docs/R…-runcommand-onend-scripts das User Menu gefunden.

    Das speichert aber meine Eingabe nicht. Es führt das gewählte Script genau nur 1 mal aus, dann wenn ich das "Launch Menu" aufrufe.

    Beim nächsten Spielstart ist das wieder vergessen.


    Ich habe nun geschafft, mit dem runcommand-onstart.sh mal ein Testscript aufzurufen.

    Das Testscript wird bei jedem Spiel aufgerufen.

    Das endgültige Script muss aber dann unterscheiden können, ob es sich um ein 4 oder 8 Wege Game handelt.

    Wie übergebe ich das aber nun ans Script weiter? Iwo muss ich das Spiel ja mit typ4 oder typ8 markieren........


    Danke im Voraus.


    Edit:

    Habe mir eine Lösung zusammen gepflastert.

    Habe in /opt/retropie/configs/all/runcommand-onstart.sh

    Code
    1. bash "/home/pi/4or8way.sh" "$@"


    eingetragen und folgendes Script in /home/pi/4or8way.sh gespeichert:



    Die Namen der 4-Wege Games habe ich in der Datei /home/pi/4way.games gespeichert (wie eine Datenbank).

    Immer 1 Name pro Zeile. Der Game-Name wird beim Aufruf von diesem in /home/pi/game.name.txt gespeichert (am Schluss mit Endung .zip)

    Bei mir sieht die 4way.games Datei so aus:



    Alle Games, welche nicht in der Datei 4way.games stehen, werden mit 8-Wege Joystick ausgeführt.


    Am Schluss werde ich natürlich


    Code
    1. echo "8-Wege Joystick" > /home/pi/test.txt"
    2. echo "4-Wege Joystick" > /home/pi/test.txt

    durch die Servoansteuerungs Python-Scripts ersetzen ( https://tutorials-raspberrypi.…pi-servo-motor-steuerung/ )

    Hallo Leute

    Scheinbar ist der Ultimarc nicht mehr lieferbar (überall "out of stock").

    Habe nun das Eigenbau-Projekt mal näher angeschaut ( https://www.thingiverse.com/thing:1984680 ).

    Bei diesem ist aber die Tiefe zu gross, da das Servo hinten angebaut wird.

    Hat sich wer sowas schonmal selber gebaut?

    Nehme gerne alle Tipps und Erfahrungen entgegen. Toll wäre natürlich, wenn ich sogar eine Zeichnung / 3D Druckerfile erhalten würde.

    Welche Joysticks nebst Groovy Game Gear Omni II und Ultimarc Mag-Stik sind alle geeignet...... usw

    Ich überlege mir, 2 Ultimarc ServoStiks in meinen Bartop einzubauen.

    Bevor ich allerdings diese Bestelle, möchte ich euch fragen, ob das schon wer mit Retropie auf einem Raspberry zum laufen gebracht hat.

    Ich würde das ServoStik Control Board gerne über USB von MAME aus ansteuern. Dazu müsste ich iwo in der Config eines jeden Spieles angeben können, ob 4 oder 8 Wege gebraucht wird.

    Ist das überhaupt möglich?

    1. Man hat einen alten Win7 (oder neuer) Key *. Mit dem kann man das Win10 aktivieren während der Installation. Siehe auch Info unten (Media creation tool).

    oder

    2. Win7 installieren und mit einem Aktivator aktivieren, dann Upgrade zu Win10 machen. Wenn alles fertig, eine Win10 Neuinstallation machen mit "ich habe keinen Key".


    Ab dem Zeitpunkt, wo Win10 mal aktiviert war auf dem PC, ist die Hardware-ID beim MS-Server gespeichert.

    Dieser wird sich ewig daran erinnern, dass dieser PC Win10 berechtigt ist.

    Bei einer späteren Neuinstallation also "ich habe keinen Key" anklicken.


    Der Vorteil eines MS Accounts:

    Falls die CPU oder Mainboard gewechselt wird, ändert sich natürlich auch die HW-ID.

    Wenn vorher einmal ein MS-Konto erstellt wurde und der betreffende PC dem MS-Server bekannt ist, wird sich Win10 automatisch wieder aktivieren (bei Eingabe des MS-Kontos während der Installation).

    Ansonsten nachher in das MS-Konto einloggen und dort bestätigen, dass dies der "neue" berechtigte PC ist.


    Info:

    Man Google nach "Media creation tool"

    Da erscheint der offizielle ISO-Downloader bei welchem man wählen kann, ob ISO für DVD brennen (die neuste Win10 Version ist grösser als 4.7GB....die passt nicht mehr auf eine DVD). Dann halt:

    USB-Stick auswählen.


    * Der gleiche Key kann nach ca 3-4 Monaten für eine neue Win Installation auf einem anderen PC wieder verwendet werden!


    Fertig ist die neue offizielle Win10 Maschine. Updates usw klar inbegriffen.



    PS:

    Ich bin kein Win-User. Dies ist rein eine Info bzw Tutorial!

    ich klappe meine Control Panel auf... stelle mein Joystick auf 4 Wege um (geht so gut mit jedem Joystick) und gut ist. Mit einen AF Bartop geht das so in der normalen Config nicht - aber kann man modifizieren.


    Oder man steuert den 8 Wege Joystick so präzise, dass es nicht zum "harken" kommt. Habe erst letztens DK mit 8 Wege durchgespielt.


    Alles andere ist doch quatsch. All diese 4 Wege "Plugins" funzen eh nicht richtig. Auch diverse Hardware Lösungen waren nie das gelbe vom Ei. Nur das umstellen der Joysticks verhindern eine wirkliche diagonal Sperre.

    Der E-Limitator ist nur zu 80% überzeugend. Bei Pengo und Popeye schaltet das Teil manchmal nicht so präzise wie es gewünscht wäre.

    Darum werd ich vielleicht später mal eine Servomotor-Lösung einbauen. So was wie hier:

    https://www.ultimarc.com/arcad…rols/joysticks/servostik/

    Wenn alle Stricke reissen, werd ich Joysticks mit Servomotor einbauen.

    Die ändern dann die Wege-Anzahl mechanisch.

    Ich will einfach etwas perfektes. Ich bin Perfektionist und sehr schwierig, wenn etwas nicht nicht zu 100% korrekt ist ^^

    Ich fräse und bestücke das PCB einfach mal.

    Kann dann Info geben.

    Achja, die 74HCT00 hab ich noch rumliegen (4xNAND). Darum die. Das wird mit jedem TTL oder CMOS NAND/NOT IC auch klappen.

    Selber bin ich CMOS Fan.

    CMOS geht "nur" 5-8MHz (dafür weite Range von 3-18V !)

    TTL mind bis 15MHz....dafür nur stur 5V.

    Zudem sind CMOS richtige Acker-Pferde. Überstrom ist denen ziemlich egal. Nur zu hohe Spannung nicht (Strom nebensächlich).

    Beim TTL ist es genau anders rum (Überstrom geht gar nicht!).


    In meiner Vorstellung freute sich wer, das endlich wieder mal ein Elektroniker kommt ^^



    "MAME 2003-Plus"

    Alles cool. Nur funzen neuere ROMs (meist ab 90er Jahren) nicht damit. Erst ab lr-mame2010.

    Und da funzt die Hi-Score Speicherung nicht (NVRAM usw). Aber das ist ein anderes Thema ^^

    Hat wer Erfahrung mit dem E-Limitator?

    Habe oben ja beschrieben, das bei manchen USB Interfaces die +5V mit dem Joystick geschaltet werden und nicht der Ground. Darum musste ich L/R und U/D vertauschen.

    Habe nun bei Popeye und Pengo festgestellt, dass die Spielfigur manchmal stehen bleibt, wenn man schnell steuert.

    Meine Vermutung: Das USB Interface hat ein Problem, wenn alle Eingänge ausser dem betätigten auf 5V sind; da dieses ja nur maximal 2 Eingänge mit 5V erwartet.

    Werde mir nun ein PCB erstellen, welches die E-Limitator Signale invertiert. Die TTL ICs hab ich gerade noch rumliegen ^^

    Kann das etwas bringen?

    Hab mal mein Entwurf angehängt.