"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Frei programmierbare HIDs

Vo 18.01.2007 18901 16
click to enlarge
Dieser Artikel enthält die Bauanleitung für ein USB-Schnittstellengerät, mit dessen Hilfe beliebige elektrische Schalter und Stellwiderstände als Eingabegeräte (Peripherie) verwendet werden können.

Die Funktionen der Peripherie sind softwareprogrammierbar. Das Gerät wurde ursprünglich entwickelt um Pedale mit dem Computer zu verbinden. Kommerzielle Substitute sind teuer und schwer erhältlich.

Einleitung



Vor einigen Wochen sah ich im Fernsehen, wie jemand mit Pedalen Videoschnittsoftware bediente. Er nutzte die Pedale um zwischen den Einzelbildern vor und zurück zu springen. Ich fand das ganz interessant und entdeckte, dass man solche Fußtaster" kaufen kann. Bei den meisten läßt sich sogar die Funktion programmieren. Leider stellte sich heraus, dass sie teuer und schwer erhältlich sind.

Ich war sehr interessiert, jedoch nicht bereit den notwendigen Preis zu bezahlen. So begann ich nach Alternativen zu suchen. Dabei stieß ich auf die Bauanleitung eines einfachen Computerfußtasters mit unveränderlichen Funktionen: Bei diesem Gerät sind zwei Tasten eines USB-Laptop-Ziffernblocks auf zwei elektrische Taster verdrahtet.

Das war mir dann doch zu wenig an Funktionalität - aber die Idee, ein bestehendes Gerät einfach zu zweckentfremden, hat mich inspiriert.

Irgendwann kam mir die Idee einen Joystick - oder noch besser ein Gamepad zu verwenden und die Funktionen der Tasten irgendwie zu programmieren. Das "wie" war mir allerdings noch unklar. Glücklicherweise zeigte sich, dass es für diese Aufgabe bereits Programme gibt.
Erst später wurde mir klar, dass man mit diesem selbstgebauten Controller ja nicht nur Pedale, sondern auch eine Reihe anderer elektromechanischer Bauteile einbinden kann...

Im Folgenden findet sich Information über:

  • Herstellung des beschriebenen Controllers
  • verwendbare Bauteile
  • verwendbare Software
  • weitere Möglichkeiten

Marke Eigenbau



Anforderungen an den Controller: Eine große Anzahl programmierbarer Schalter unterschiedlicher Art sollen betrieben werden können - im Besonderen: Fußschalter.

Technische Umsetzung: Ein Gamepad wird zum Controller umfunktioniert. Die Schaltkontakte werden mit beliebigen Schaltern verdrahtet; die Funktion der Schalter wird mittels spezieller Software zugewiesen.


"Soll ich mir das auch antun?" - Anforderungen an den Animierten

click to enlarge
Womöglich möchte der eine oder andere sich auch so ein Gerät bauen. Trotz Eigenbau - es kostet Geld. "Wieviel Geld" kann der untenstehenden Kostenaufstellung entnommen werden. Wer notorisch "keine Zeit" hat oder sich nicht gern handwerklich betätigt, sollte es vielleicht bleiben lassen. Allen anderen sei hier geholfen. Etwas Erfahrung beim Löten und beim Vorbereiten von Kabeln und Drähten ist hilfreich.

Nötiges Material

  • Gamepad
  • Gehäuse
  • Peripherie
  • Stecker und Buchsen
  • Montagesatz für Platine
  • Verbrauchsmaterial
Der wesentliche Arbeitsablauf: Man benötigt ein neues Gehäuse für die Unterbringung der Gamepadelektronik. Das Gehäuse und die gewünschte Peripherie wird mit Anschlüssen versehen.

Elektronische oder elektromechanische Bauteile erhält man beim Radiobastler ums Eck oder in großen Handelsketten, die ich nicht beim Namen nennen will. Im Folgenden wird näher auf die einzelnen Komponenten eingegangen:

Material I



Preiswertes oder altes USB-Gamepad

Gamepads sind meist billiger als Joysticks. Die Anzahl der Schalter und Achsen sollte je nach Vorhaben beachtet werden. Da nur die Elektronik des Geräts verwendet wird, ist das Aussehen nicht weiter wichtig.

Gehäuse für die Elektronik

Das Gehäuse muss ausreichend Platz für die montierte Platine, Buchsen, Drähte und Kabel bieten. Es empfiehlt sich, eine Zeichnung mit der geplanten Anordnung der Bauteile anzufertigen.
Die Wände des Gehäuses sollten steif genug sein, um das An- und Abstecken der Peripherie ertragen zu können. Beim Herstellen der Öffnungen für die Buchsen treten ebenfalls große Belastungen auf. Kunststoffgehäuse sollten wegen der einfacheren Bearbeitung, des geringeren Preises und der isolierenden Eigenschaften Metallgehäusen vorgezogen werden. Der Wärmeverlust der Elektronik ist vernachlässigbar.

Gewünschte Peripherie (Schalter und Stellwiderstände)
Schalter ist nicht gleich Schalter:

Taster
Taster schließen oder öffnen bei Betätigung einen elektrischen Kontakt. Dieser Zustand bleibt nur während der Betätigung erhalten. Aus praktischen Gründen bieten sich hier wahrscheinlich nur "schließende Taster" (="Schließer": Betätigung --> Kontakt geschlossen) an.
Beispiel: Die Tasten eines Gamepads, eines Telefons oder einer Computertastatur sind schließende Taster.

Pedal
Die meisten Pedale sind als Taster ausgeführt ("Fußtaster"). Eine Bildersuche mit "Fußtaster" gibt einen netten Überblick über das Angebot. Fußtaster für die Musik- und Bühnentechnik sind meist mit geeigneten Kabeln und Steckern ausgestattet.
Industriefußtaster sind oft zum Schalten großer Ströme ausgelegt. Das ist hier nicht von Nöten - dennoch können sie verwendet werden.
Alternativ kann der Fußschalter eines ausgedienten Diktiergeräts umgebaut werden. Auch hier schafft eine Bildersuche bessere Vorstellung.

Ein-/Ausschalter
Ein-/Ausschalter bleiben nach Betätigung im jeweiligen Schaltzustand. Der Schaltzustand ändert sich daher erst nach erneuter Betätigung. Der geschlossene Zustand entspricht dem Halten einer Taste. Wer nach einer Anwendung für dieses Verhalten sucht, wird bestimmt eine finden.
Beispiel: Der Lichtschalter auf der Nachtkasterllampe.

Stellwiderstand ("Potentiometer")
Stellwiderstände sind mechanisch regelbare Widerstände. Joysticks benutzen solche Stellwiderstände um die Auslenkung des "Stabs" elektrisch zu beschreiben. Durch entsprechende Programmierung ist es mit einem Stellwiderstands z.B. möglich, eine Funktion von der Stabauslenkung abhängig zu machen (siehe Autohotkey-Beispielskript).


Material II



Stecker und Buchsen

Zur Verbindung von einfachen Schaltern eignen sich zum Beispiel die Stecksysteme Monoklinke oder Cinch (sprich: "sintsch"). Bei Bedarf kann man auch mischen um die Anschlüsse verschiedener Schalter auseinanderhalten zu können. Für das Cinchsystem werden Buchsen und Stecker in unterschiedlichen Farben angeboten. Einige Fußschalter werden mit Monoklinkensteckern ausgeliefert.

Im Gegensatz zu den einfachen Schaltern haben Stellwiderstände nicht zwei sondern drei Anschlüsse. Hier bietet sich die Stereoklinke mit ihren drei Kontakten an.
Für die Montage in die Gehäusewand eignen sich Buchsen zur sogenannte "Gehäuse-, Chassis-, oder Zentralmontage". Stecker und Buchsen unterscheiden sich oft erheblich im Preis. Ich empfehle nicht die allerbilligsten zu kaufen. Ein Preis bis 1,5€ pro Stecker oder Buchse scheint mir vertretbar. Die Buchsen müssen für die Wandstärke des Gehäuses geeignet sein.

Im Wesentlichen ist die Wahl des Stecksystems eine Frage des Preises, der Montierbarkeit und natürlich des persönlichen Geschmacks. Grundsätzlich kann jedes x-beliebige System verwendet werden - von BNC, über Telefonstecker, bis XLR und Schuko-Stecker.

Als Fleißaufgabe kann man die originale USB-Verkabelung entfernen und stattdessen eine USB-Buchse in das Gehäuse einbauen. Vorsicht beim Kontaktieren der Buchse: auf Seitenrichtigkeit achten! Die längeren Kontakte sind Versorgungsspannung und Masse, die kürzeren die Datenleitungen. Der Anschluss kann dann mit einem beliebigen USB-Gerätekabel erfolgen.

Montagesatz für die Platine

Die Platine kann auf vielfache Art im Gehäuse befestigt werden. Stichworte für die Suche: Abstandhalter für Leiterplatten, Abstandsbolzen, Leiterplattenmontagezubehör oder Spacer. Der Montagesatz muss genügend Platz für die Platine mit ihren Bauteilen und für Kabel- und Drahtführung lassen.

Verbrauchsmaterial

Lötzinn (~ Ø0,5mm); isolierten Litzendraht (≤0,14mm² ~ Ø1mm) in verschiedenen Farben – unter Umständen dafür ein altes Kabel zerschneiden; Reinigungsalkohol und Tücher um Markierstiftspuren zu entfernen; eventuell Kleber – z.B. für eine Power-LED.

Kosten



Im Beispiel verwendetes Material

Als Gehäuse dient mir "Flachgehäuse grau". Ich hätte womöglich auch ein billigeres und größeres ausprobiert, aber die waren ausverkauft.
Die Fußschalter habe ich günstig ersteigert. Es handelt sich um vier schließende Taster der Type Herga 6289-SC. Sie waren modifiziert und statt mit einem dreiadrigen Kabel, mit dünnen Koaxkabeln und SMB-Steckern ausgestattet. SMB Buchsen sind teuer. Deshalb habe ich die Anschlüsse gegen Cinch getauscht. Das verwendete Gamepad ist das günstige Saitek-P880.

Kostenaufstellung

tabelle.png

x… Anzahl der gewünschten Pedale

Die Kosten für Gehäuse, Gamepad und Verdrahtung kann man als konstant ansehen. Sie schlagen sich in obiger Aufstellung mit 17 bzw. 12€ zu Buche. Die Gesamtkosten hängen stark von der Menge und Type der gewünschten Fußtaster ab. In der Aufstellung machen die Kosten je Fußtaster 7 bzw. 12€ aus. Für einen Controller mit zwei Fußtastern müsste man nach obigen Summenformeln also 31 bzw. 36€ investieren.

Arbeitsschritt I und IIa


Die Arbeit ist im Folgenden in drei Teile unterteilt:
Vorbereitung, Elektrische Installation und Abschlußarbeiten.

Eine Liste der empfohlenen Werkzeuge findet sich im Anhang.

Arbeitsschritt I: Vorbereitung und Gehäuse bearbeiten
click to enlarge
Eigenschaften des Gamecontrollers - Taste 1 gedrückt; Die Ansicht variiert je nach Gerät.

  • Gamepad vorher ausprobieren; herausfinden welcher Knopf welche Nummer am Computer hat (Systemsteuerung/Gamecontroller/Eigenschaften) - womöglich sind die Knopfkontakte auf der Platine anders nummeriert - daher aufschreiben oder skizzieren.
  • Gewünschte Programmiersoftware ausprobieren.
  • Gamepad aufschrauben und Platine ausbauen; unerwünschte Anbauteile entfernen; unter der Berücksichtigung der Buchsenlängen die nötigen Maße für das Gehäuse bestimmen; Zugentlastung/Knickschutztülle für das Datenkabel vorsehen oder anstelle dessen eine USB-Buchse installieren.
  • Plan machen/Einkaufen gehen
  • Daheim entdecken, dass die eine Hälfte vergessen wurde und die andere nicht passt. Noch zweimal einkaufen gehen.
  • Gehäuse vorbereiten: Löcher für Platinenmontage, Datenkabelausführung, Buchsen, eventuell andere Elemente. Draht- und Kabellängen beachten! Die Leitungen sollten lang genug sein um die Platine bequem aus dem Gehäuse entfernen zu können. Zu lange Leitungen erschweren das Verschließen des Gehäuses.
Arbeitsschritt II: Elektrische Installation

Die zur Verbindung verwendeten Litzendrähte müssen abgelängt, abisoliert und verzinnt werden. Nach Möglichkeit sollte die zu verlötende Stelle dann erwärmt und das Lötzinn nicht zum Lötkolben, sondern an die Lötstelle geführt werden. Da dies bei den kammförmigen Kontakten heikel ist, empfehle ich diese ebenfalls vorher zu verzinnen und zur Verbindung wieder zu erwärmen. Vorsicht mit den Drähten - sie können leicht abreißen.

Wer keine Routine im Löten hat, sollte sich vorher etwas informieren und vielleicht auf einer überflüssigen Platine ein bisschen üben. Nicht unter Spannung arbeiten! Ebenfalls Vorsicht beim Abmanteln von Kabeln: zu tiefe Schnitte können den Querschnitt schwächen oder Kurzschlüsse verursachen.

click to enlarge
Steckermontage - Zustand vor dem Löten
Vor der Montage von Steckern oder Buchsen immer an die Überwurfteile (Mutter, Steckergehäuse, Knickschutztülle etc.) und Durchführung (z.B. durch eine Öffnung im Gehäuse) denken!


Das Saitek-Gamepad läuft von Haus im "Analog"-Modus. Der dafür nötige Umschaltvorgang kann durch Überbrückung des entsprechenden Tasters erfolgen. Der Modus ist dann immer "Digital".

Fortsetzung auf der nächsten Seite.

Arbeitsschritte IIb und III



Fortsetzung der Arbeitsschritte.

Arbeitsablauf für Schalterbuchsen

click to enlarge
Schematische Darstellung der Beschaltung der Buchsen: Die Kontakte auf der Platine müssen mit den entsprechend benannten Kontakten der Buchsen verbunden werden.
Die Schaltmasse kann von Buchse zu Buchse weitergeführt werden, und muss nur einmal masseseitig an einen Kontaktkamm angelötet werden.
Die Schaltleitungen werden einzeln an die gewünschten kammförmigen Schaltkontakte gelötet.
Es empfiehlt sich mit einem Multimeter eine Durchgangsprüfung zwischen Schaltmasse und Schaltkontakt durchzuführen.
Bei nicht angeschlossenem bzw. nicht betätigtem Schalter darf es keine elektrische Verbindung zwischen Schaltmasse und Schaltkontakt geben. Sollte es doch Durchgang geben, so muss man Buchse, Draht und Schaltkontakte nach unerwünschten Leitbrücken absuchen.

Ich empfehle wegen der beim Löten auftretenden Erwärmung, die Buchsen außerhalb des Gehäuses zu löten. Überwurfteile und Durchführung nicht vergessen! Buchsenmutter festziehen.

Arbeitsablauf für Stellwiderstandsbuchsen

Auf die Beschaltung achten: Masse, Versorgungsspannung, Ausgangsspannung. Da es keine Vorgabe für die Beschaltung gibt, sollte sie schriftlich festgehalten werden. Zur Erleichterung kann man die Masse so beschalten, wie es für das Stecksystem üblich ist. Siehe hierzu: Gesammelte Steckerbeschaltungen A oder auch Gesammelte Steckerbeschaltungen B.

Arbeitsschritt III: Abschlußarbeiten

  • Controller anstecken und auf Funktion der Peripherie testen (Systemsteuerung)
  • Platine ins Gehäuse einbauen
  • Schalter mit der Software der Wahl programmieren und ausgiebig testen
  • Gehäuse verschließen und glücklich sein

Software



Getestete Software zur Tastenbelegung

Es ist vorteilhaft, wenn die verwendete Software nicht installiert werden muss: Das Programm und alle Profile können z.B. auf einem USB-Stick mitgenommen und beim Anstecken per Autorun aufgerufen werden. Dadurch ließe sich das Pedalsystem ohne weitere Umstände an jeden beliebigen PC anschließen.

Das Programm muss ständig laufen, da im Controller keine Information über die erweiterte Bedeutung des Tastendrucks gespeichert ist. Es sollten nicht mehrere dieser Interpreterprogramme gleichzeitig aktiv sein.

Ich habe das Gerät ausschließlich auf einem Windows-PC verwendet und nur mit der entsprechenden Software hantiert.
Die folgende Auswahl enthält die nach meinem Wissensstand am Besten geeigneten Programme für diesen Zweck:

Controllereigene Progammiersoftware (SST Programming Software 4.1.0)
Die Funktionen des Saitek Controllers können mit der hauseigenen Software programmiert werden. Die Installation verlief zumindest bei mir etwas unrund: Setup initiiert die Installation von "Saitek Magic"-Treibern. Die "Magie" verfliegt spätestens dann, wenn der Windows-Hardware-Assistent zum dritten Mal mit der Treiberinstallation ins Gehege kommt. Die Programmierung selbst ist für meinen Geschmack unnötig kompliziert. Eine Profilumschaltung ist über ein Icon im System-tray möglich. Die Software benötigt rund sechs MB Arbeitsspeicher.

click to enlarge
JoyToKey (3.7.9)

Freeware mit kleineren und größeren Fehlern - deutlich kleinerer Funktionsumfang als das nachfolgend beschriebene Autohotkey. Das Programm bedarf keiner Installation und ist etwa 600kB groß. Das Anlegen von Profilen ist möglich. Diese werden in separaten Dateien abgelegt und die Umschaltung kann im System-tray erfolgen. JoyToKey ist das wahrscheinlich am einfachsten zu bedienende Programm in dieser Liste. Die Entwicklung wurde scheinbar eingestellt. JoyToKey benötigt rund vier MB Arbeitsspeicher.

Um einfach und schnell arbeiten zu können ist JoyToKey meine erste Wahl.

Autohotkey (1.0.46)

autohotkey.png
Autohotkey kann viel mehr als Buchstaben oder Tastenkombinationen an Joysticktasten zuweisen: es arbeitet mit einer Skriptsprache, über die man z.B. Anwendungen starten, mit Variablen arbeiten oder Mausaktionen simulieren kann. Siehe dazu auch die Homepage von Autohotkey. Autohotkey steht unter der GNU-Lizenz und erfährt regelmäßige Updates. Es hat zwar einen Installer, ist dann aber auch alleinstehend lauffähig. Die ausführbare Datei hat nur eine Größe von 230kB. Es werden weniger als vier MB Arbeitsspeicher benötigt.

Der Umgang mit der Skriptsprache fällt je nach Programmierkenntnissen leichter oder schwerer. Ich empfehle Autohotkey nur für Ansprüche, die nicht mit JoyToKey realisierbar sind.

Fazit und Verbesserungsvorschläge



Fazit: Vergleich mit kommerziellen Systemen

Die im Anhang vorgestellten Pedalsysteme sollen vor allem der Entlastung der Hände dienen. Ich denke, dass durch eine flexible Funktionsbelegung ein weiterer Vorteil erzielbar ist.
Als Preis für die Flexibilität muss ständig ein Programm laufen, das diese Funktionalität ermöglicht.

Der Eigenbau ist zwar auch mit relativ hohen Kosten verbunden, aber immer noch preiswerter als die käuflichen Pendants. Außerdem kann man sich das Pedalsystem ganz nach seinen eigenen Vorstellungen gestalten.
Alle Freunde sind schwer beeindruckt, wenn sie hören, dass man den Lötkolben selbst in die Hand genommen hat.

Ad Ergonomie

Den Pedaleinsatz im Auto ist man gewohnt – den vor dem Computer eher weniger. Ich glaube, dass es gerade hier wichtig ist eine geeignete Sitzposition einzunehmen.
Um nicht unter dem Tisch nach den Fußtaster zu tasten, empfiehlt sich die Montage auf einer Platte. Diese Platte könnte schräg aufgerichtet sein und neben den Schaltern könnte - ähnlich dem Auto - Platz für die Ruhestellung der Füße sein.

Ich habe vier Fußschalter vorgesehen. Meiner Meinung nach müsste man dieser Zahl noch Herr werden.

Ad Profilwechsel

Um besonders produktiv arbeiten zu können, könnte man mehrere Funktionsbelegungsprofile anlegen und z.B. je nach Programm oder zu erledigenden Arbeitsschritten dazwischen wechseln.
Einige kreative Möglichkeiten für den Wechsel: über ein zusätzliches Rad, eine kleine Spezialtastatur oder die Mehrfachbetätigung eines Pedals.

Ad Andere Plattformen und andere Schnittstelle

maclinux.png
Für Linux scheint es eine Adaptation von JoyToKey zu geben - von Autohotkey leider nicht. Für den Mac gibt es das Programm ControllerMate mit graphischer Oberfläche.

Es muss übrigens nicht USB sein – über den Gameport kann die Information von vier Stellwiderständen (Achsauslenkung von zwei Joysticks) und vier Tastern ausgelesen werden.

Kommerzielle Systeme



Kommerzielle Computerpedalsysteme

Das Angebot umfasst Systeme mit ein bis drei Pedalen. Fertige Pedalsysteme haben den Controller im Pedalgehäuse und werden an den USB oder über PS/2 angeschlossen. Die Funktion der Pedale ist entweder unveränderlich oder in EEPROMs (Electrically Erasable Programmable Read Only Memory) gespeichert. Die Programmierung ist eine teils aufwändige Prozedur, für die besondere Software und eventuell auch Treiber benötigt werden.
Speicherprogrammierbare Pedale gibt es z.B. von folgenden Herstellern – alle Preise "ab Werk":

  • X-Keys (USA): Drei Pedale für umgerechnet etwa 95€
  • Kinesis (USA): Auf X-Keys aufbauend; je nach Ausführung für umgerechnet etwa 80 bis 120€
  • F-pro (D): Einzelnes Pedal um etwa 100€

Kommerzielle Schnittstellengeräte für diverse Schalter

Ähnliche Schnittstellengeräte wie das hier vorgestellte gibt es auch zu kaufen.
Der Anschluss erfolgt wie bei den Pedalystemen an den USB oder über PS/2. Beliebige Taster können z.B. über "DIN-Stecker" oder kleine Monoklinkenstecker angeschlossen werden. Die Funktionen sind in EEPROMs gespeichert oder sie sind gejumpert.
Interessanterweise sind sie noch teurer als die Pedalsysteme! An der Anzahl der möglichen Schalter kann es jedenfalls nicht liegen - Die Kosten steigen für zusätzliche Schalter nur geringfügig (siehe auch obenstehende Kostenaufstellung).

Schnittstellengeräte gibt es z.B. von folgenden Herstellern – alle Preise "ab Werk":

  • X-Keys (USA): Ein wahrscheinlich speicherprogammierbares USB Steuergerät, für zwölf Schalter mit Monoklinkenstecker für etwa 185€
  • Vetra (USA): Für umgerechnet etwa 150 bis 210€. Diese Geräte erscheinen mir anachronistisch. Die stark eingeschränkten Funktionen sind gejumpert - dafür erspart man sich Treiber und Programmiersoftware.

Werkzeug



Empfohlenes Werkzeug:

  • Säge, Nadelfeilen (=kleine Feilen), Sandpapier
    Zum Herstellen von Durchlässen in Gehäuseteilen.
  • Bohrmaschine / Akkuschrauber (verschiedene Bohrer, Senker)
    Um Löcher ins Gehäuse zu bohren. Löcher sollten klein (ca.3mm) vorgebohrt werden, und dann (je nach Durchmesser auch schrittweise) aufgebohrt werden. Es können "Holz-" oder "Metallbohrer" verwendet werden. Mit einem Senker können die Bohrungen entgratet werden. Bei stumpfen Bohrern kann der Druck auf die Wand sehr groß werden und die Wand beschädigen. Zu starker Anpressdruck beim Bohren kann auch dazu führen, dass sich der Bohrer zu schnell "durchfrisst" und eine unrunde Öffnung hinterlässt. Vorsicht – in so einem Fall lieber die stehengebliebenen Reste ausfeilen, anstatt den Bohrer weiterlaufen zu lassen.
  • Schraubenzieher, evt. Gabelschlüssel
    Zum Öffnen der Gehäuse und zum Festziehen diverser Muttern und Schrauben.
  • Seitenschneider/Kombizange, Abisolierzange/Teppichmesser ("Stanleymesser")
    Zum Kürzen, Abisolieren und Abmanteln von Drähten und Kabeln. Gehäuseteile sollten mit diesen Werkzeugen - wenn überhaupt - nur mit größter Vorsicht bearbeitet werden.
  • Lötkolben und Zubehör
    Lötspitze geeigneter Form und Größe verwenden.
  • Klemme/Bestückungsrahmen/Platinenhalter
    Um die Bauteile festhalten zu können. Ich habe eine Federklemme an der Tischkante verwendet.
  • Elektrisches Messgerät (Durchgangsprüfung)
    Es ist nicht zwingend nötig, die zuvor beschriebenen Messungen durchzuführen. Die Messungen dienen dem frühzeitigen Erkennen von Fehlern. Es ist sehr ärgerlich, wenn man alles noch einmal auseinandernehmen muss, nur weil es irgendwo einen unerwünschten Kurzschluss gibt. Geeignete Multimeter gibt es bereits ab 5€ zu kaufen.
  • Arbeitshilfen
    Gute Beleuchtung, vielleicht eine Lupe; eine Unterlage beim Löten; Schachteln für Kleinteile; Overheadstift oder Bleistift um Markierungen auf das Gehäuse machen zu können; Schiebelehre oder Lineal als Messinstrument.

Beispielskript



Beispielskript für Autohotkey

Das folgende Skript legt die Auslenkung einer Joystickachse proportional auf ein Mausradscrolling um. Für vier Pedale werden Funktionen zugewiesen.

;Beispielskript für Pedalcontroller (Volker Fröhlich 2007, V1)
;Joystickauslenkung wird proportional auf Mausradscrolling umgelegt
;Pedalfunktion statisch zugewiesen

;-------------------------Konfiguration Anfang-------------------------
;----------------------------------------------------------------------
;----Pedale----
P1= a ;Zuweisung der Funktionen auf die Variablen "P".
P2= b ;Pedal Nr. 2 produziert ein "b".
P3= c
P4= d
Pause= 200 ;Bei gehaltenem Pedal wird die Eingabe alle 50ms wiederholt.
;---Joystick---
DelayMax= 700
DelayMin= 10 ;Bei maximaler Joystickauslenkung wird die Eingabe alle 10ms wiederholt.
Dead= 10 ;Die ersten 10% der Auslenkung sind Totgang.
FUP= Click WheelUp ;Zuweisung der Funktion bei Auslenkung nach oben (=FunctionUP)
FUD= Click WD
;----------------------------------------------------------------------
;--------------------------Konfiguration Ende--------------------------

#Persistent ;Skript läuft bis es vom Benutzer beendet wird. Alle 5ms wird der Abschnitt PAJ (=PedalsAndJoystick) aufgerufen.
SetTimer, Pedal, 5
SetTimer, Joystick, 5
return

;----------------------------------------------------------------------
Pedal:

GetKeyState, JoyZ, JoyZ ;Abfrage des Zustands der Joystickachse "Z"und Zuweisung des Werts auf gleichnamige Variable.

Normal:= JoyZ - 50 ;Wertebereich der Eingabe (0-100) in +50 - (-)50 umwandeln
b:=(DelayMax-DelayMin)/(50-Dead)
a:=DelayMax + b*Dead ;Berechnung der Koeffzienten zur Aufteilung der Verzögerung.
CalcDelay:=a - b*Abs(Normal) ;Ermittlung der Verzögerung für die aktuelle Auslenkung

If (Normal > Dead) ;Bei Überschreitung des Totgangs wird die angegebene Funktion ausgelöst.
{
SetMouseDelay %CalcDelay% ;Anwendung der Verzögerung
;%FUP%
}

If (Normal < -Dead)
{
SetMouseDelay %CalcDelay%
;%FUD%
}

;Sleep, CalcDelay
;Listvars ;Zum Debuggen den Strichpunkt am Anfang entfernen - zeigt Variablenwerte an.
Return

;----------------------------------------------------------------------
Joystick:

GetKeystate, Pedal1, Joy1 ;Abfrage des Zustands von Taste "1" und Zuweisung des Werts auf Variable "Pedal1".
GetKeystate, Pedal2, Joy2
GetKeystate, Pedal3, Joy3
GetKeystate, Pedal4, Joy4

SetKeyDelay Pause

If Pedal1 = D ;Wenn Pedal "1" gedrückt --> Inhalt von "P1" senden mit Wiederholungsverzögerung.
{
Send {%P1%}
}

If Pedal2 = D
{
Send {%P2%}
}

If Pedal3 = D
{
Send {%P3%}
}

If Pedal4 = D
{
Send {%P4%}
}

Return
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz