Allgemeines Einleitung Die Schaltung Bootloader? Mögliche Erweiterungen Download zurück zu PIC-Projekt Allgemeines
|
Einfache Joysticks gibt es
für kleines Geld zu kaufen. Ein
Selbstbau ist da uninteressant. Gelegentlich gibt es aber doch einen Bedarf für einen Eigenbau. Das betrifft insbesondere Flugsimulatorentusiasten, die sich Cockpitteile ihrer Lieblingsflieger nachbauen, um mit diesen die Simulationssoftware zu steuern. Braucht man dafür nicht mehr als drei Achsen, dann schlachtet man am einfachsten einen billigen Joystick aus, und verpflanze dessen elektronisches Innenleben in die Eigenbaumechanik. Was macht man aber, wenn man eine große Anzahl an Achsen oder viele Taster braucht braucht? Man könnte mehrere Joysticks kanibalisieren und zusammen mit einem USB-Hub in den Eigenbau einpflanzen, aber dann wird es doch langsam umständlich und teuer. Da entsteht dann doch der Bedarf nach einer für diesen Anwendungsfall optimieren Eigenbauelektronik. Ich stelle hier einen PIC vor, der sich zum Aufbau eines USB-Eingabegeräts mit 5 Achsen und 24 Tastern eignet. Als Basis dient mir ein PIC18F2455. Die Anregung zu diesem Projekt kam durch ein Project von opencockpits.com. Dort wird ein solcher Joystick mit einem völlig veralteten PIC16C745 aufgebaut. Mein Projekt kann die dortige Elektronik einfach ersetzen, ich verwende aber eine abweichende Steckerbelegung für die Potentiometer. |
Über den USB-Anschluss wird
der Joystick gesteuert und mit Strom versorgt. Die Kondensatoren C1 und
C5 filtern die Betriebsspannung und C2 siebt die USB-Spannung des
internen Spannungsreglers des PIC. Q1, C3 und C4 versorgen den PIC mit einem stabilen 20-MHz Takt. R1 legt Pin 1 des PIC auf High-Pegel. Als PIC habe ich den PIC18F2455 vorgesehen, es eignen sich aber auch PIC18F2458/2550/2553. (Ohne Änderung an Hardware oder HEX-File.) Achsen An die 3-poligen Verbinder SV1 bis SV5 wird je ein lineares 10-kOhm-Potentiometer (der genaue Widerstandswert ist unkritisch) angeschlossen. Dabei muss der Schleifer des Potentiometers mit Pin 3 des Verbinders verbunden werden. Die äußeren Anschlüsse des Potentiometers kommen an die Pins 1 und 2 des Verbinders. Die nachfolgende Schaltung zeigt eines der 5 Potentiometer. |
Tasten Die Taster werden zwischen die Verbinder SV6 und SV7 angeschlossen. Die 24 Taster bilden eine Matrix mit 3 Zeilen und 8 Spalten. Werden nicht alle Tasten benötigt, dann lässt man die überflüssigen Tasten einfach weg. Mit Entkopplungsdioden: Die nebenstehende Schaltung zeigt eine Matrix aus 24 Tastern. Durch die vorhandenen 24 Dioden ist es möglich gleichzeitig eine beliebige Kombination aus Tastern zu drücken. Der Controller wird immer genau die gedrückten Taster zum PC melden. Ohne Entkopplungsdioden: Man kann die Matrix auch ohne Dioden aufbauen, was ein paar Cent spart. Allerdings unterliegt dann das gleichzeitige Drücken mehrere Taster einigen Beschränkungen:
Prinzip der Matrixabfrage: Die 3 Zeilenleitungen sind Matrixeingänge, die 8 Spaltenleitungen sind Matrixausgänge. Der PIC hält im Ruhezustand die 8 Spaltenleitungen mit pull-up-Widerständen auf High-Pegel. Es wird nacheinander jeweils eine Zeilenleitung auf Low-Pegel gelegt, während die anderen Zeilenleitungen hochohmig sind. Daraufhin werden die Pegel der Spaltenleitungen geprüft. Ein Low-Pegel steht dort für eine gedrückte Taste. |