Ich liebe es, die Northrop F-5E in DCS zu fliegen. 😊
Da ich ausschließlich in VR fliege, ist die Eingabe der Steuerbefehle mit meiner Maus oft zu langsam und umständlich. Obwohl ich den
MOZA MTP-Throttle,
das MOZA MTLP-Panel
und einen einem WinWing ViperAce-Steuerknüppel auf einer DIY Rhino FFB-Basis verwende,
habe ich festgestellt, dass mir immer noch bestimmte Steuerungsmöglichkeiten fehlen, um das Fliegen und Kämpfen in der F-5 wirklich genießen zu können. Ich habe mich umgeschaut, aber nichts gefunden, was mein Problem zufriedenstellend gelöst hätte.
Schließlich habe ich beschlossen, selbst eine Lösung zu finden.
Der Plan:
Bau einer ButtonBox für
• TACAN-Modi, Zehner, Einer, X/Y
• UHF-Modi, PRESET
• HSI-Eingabe HDG & CRS
• Schalter 7 Stationen
• Intervalleinstellung 3 Positionen
• Bombenzünder 3 Positionen
• Waffenmodus-Wahlschalter
• GUN ein und aus
Meine Lösung dafür ist die Verwendung von
• TACAN: einem 5-Positionen-Wahlschalter, zwei Drehgebern
• UHF: zwei Drehgebern
• HSI: zwei Drehgebern
• Stationen: sieben EIN/AUS-Kippschaltern
• Intervall: ein EIN/AUS/EIN-Kippschalter
• Zünder: ein EIN/AUS/EIN-Kippschalter
• WP-Modus ein Drehgeber
• GUN: ein EIN/AUS-Kippschalter
Zwei Arduino Leonardo-Controller zur Emulation von zwei USB-Gamecontrollern für Windows.
Gesamtverteilung auf 2x Arduino Leonardo
Damit alle Eingänge bequem auf die Pins passen (und serielle Konflikte vermieden werden), wähle ich diese Verteilung:
Leonardo A (Hardy's F-5E ButtonBox A):
5 Drehgeber mit Drucktaster 5×(A/B) = 10 Leitungen + 5×Druck = 5 Leitungen ⇒ 15 Pins.
1× 5-Positionen-Wahlschalter, 1 analoger Pin (über Widerstandsnetzwerk)
Leonardo B (Hardy's F-5E ButtonBox B):
2 Drehgeber mit Drucktaste, 6 Pins
8× EIN-AUS-Wippschalter, 8 Pins
2× EIN-AUS-EIN-Wippschalter, 4 Pins
Die Box
Die Box musste auf meinem Anycubic Kobra 2PRO und Photon Mono 2 gedruckt werden.
Also habe ich die Box und die Platten mit Fusion entworfen, um STL-Dateien zu exportieren und sie zu slicen.
Mit meinem Filamentdrucker kam es zu einer gewissen Wärmeverformung der Box und der Bodenplatte. Daher musste ich die großen Körper aufteilen, um separate STL-Dateien für vier Körper der Bodenplatte und zwei Körper der Box zu erhalten. Die Platten wurden ebenfalls aufgeteilt, wobei der untere Teil im FDM-Verfahren und der obere Teil für eine bessere Auflösung im Resin-Verfahren gedruckt wurde. Die Teile wurden miteinander verklebt.
Die stl files kann ich zum selber drucken (lassen) bereitstellen.
Verkabelung
Allgemeiner Schaltplan (für alle Tasten/Schalter)
Eine Seite jedes Schalters an GND,
die andere Seite an einen Eingang mit INPUT_PULLUP. Logik: LOW = aktiv, HIGH = inaktiv.
Außerdem Encoder A/B an GND angeschlossen (A und B jeweils an Eingänge mit INPUT_PULLUP), gemeinsame Masse des Encoders an GND.
Erdungsführung: eine saubere Sternerdung (GND-Bus) pro Platine.
Die beiden Platinen müssen nicht miteinander geerdet werden – beide haben ohnehin eine gemeinsame Masse über USB.
5-Positionen-Wahlschalter als Analogwert. Anstelle von 5 einzelnen Eingängen habe ich einen einzigen Analog-Pin mit Widerständen verwendet:
Verbinden Sie den Analog-Pin mit einem 10-kΩ-Pull-Down mit GND.
Der gemeinsame Kontakt des 5-Positionen-Schalters wird über jeweils einen Positionswiderstand mit dem Analog-Pin auf +5 V gelegt. Widerstände (R→+5 V): 1 kΩ, 2,2 kΩ, 3,9 kΩ, 6,8 kΩ, 12 kΩ.
Jeder Positionskontakt liefert dann eine eindeutige Spannung an A0 (der Sketch weist die ADC-Werte 5 „Bändern“ zu).
Software:
Bibliotheken
• Drehgeber: RotaryEncoder von Matthias Hertel (pollingbasiert, funktioniert an allen Pins).
• HID-Joystick: Joystick von Matthew Heironimus (Leonardo/Micro-kompatibel).
HID-Strategie (was die Simulation sieht)
• Behandeln Sie jeden Encoder als zwei Momenttaster:
o CW-Schritt → „Taste X+“ drücken und loslassen
o CCW-Schritt → „Taste X−“ drücken und loslassen
• Encoder-Drucktasten und Wipptasten werden normalen Tasten zugeordnet.
• ON-OFF-ON verwendet drei Tasten (UP MIDDLE DOWN).
• ON-OFF verwendet 2 Tasten (UP DOWN)
• 5-Pos → 1 analoge Achse mit 5 Bändern (mit Widerstandsleiter).
Code:
Ich kann sofort einsatzbereite Arduino Leonardo (kompatible) Boards bereitstellen.
Teile Liste und Kosten: