Hallo. Ich würde gerne für den Microsoft Flight Simulator ein USB-Interface herstellen, an das ich dann z.B. Schalter oder Knöpfe anschließen kann. Ich habe schon viele Beiträge gelesen, aber ich bin noch aus keinem wirklich schlau geworden. Das Material, was ich dazu brauchen würde, wie Schalter, Knöpfe, Header, Kabel, Widerstände, Copper-Clads, Salzsäure und Wasserstoffperoxid zum Ätzen habe ich (voreilig wie ich bin :D ) alles schon gekauft. Am einfachsten wäre es ja, wenn ich irgendwoher die Eagle-Dateien für zum Beispiel das Arcaze-USB-Interface oder vom Leo Bodnar BU0836x-Interface bekommen würde und das Programm, was auf dem Mikrocontroller ist. Ich habe aber leider noch nichts gefunden. Schwerer noch ist es aber für mich zu verstehen, welches Programm ich dann auf den Mikrocontroller schreiben müsste. Ich hoffe, dass ich nicht zu viel verlange und ihr mir helfen könnt :D Danke im voraus Tobias
Nimm einen JoyWarrior und gut ist. Da musste nix selber programmieren.
Danke für die Antwort. Ich wollte die Sachen selber machen, um so wenig Geld wie möglich auszugeben, da es seeehr viele Schalter gibt, aber auch, um ein bisschen zu lernen. Gibt es nicht vielleicht auch schon fertige Programme, die man auf den Mikrocontroller schreiben kann?
Tobias S. schrieb: > Ich wollte die Sachen selber machen, > Gibt es nicht vielleicht auch schon fertige Programme, die > man auf den Mikrocontroller schreiben kann? Was jetzt? Selber machen oder fertige Programme nutzen? Was kannst du denn bereits in dem Bereich? So von Null auf Hundert wird das schwer.
Hi Tobias. Z.B.: http://matrixstorm.com/avr/tinyusbboard/ und http://www.obdev.at/products/vusb/prjhid.html Dieses WE werde ich die Eagle Files des neuen Boards online als OpenSource bei GitHub (https://github.com/tinyusbboard) stellen. Auch habe ich bereits letztes WE eine library zur gleichzeitigen (und HID boot kompatiblen) Implementierung von Maus und Tastatur fertig gestellt. Diese Lib wird es fuer C und als Port fuer Arduino geben - ich versuche diese ebenfalls dieses WE auf github zu laden. MfG
@cyblord Hardwaremäßig bin ich eigentlich ganz fit, also das Erstellen der Platine würde ich hinbekommen. Das Problem ist, dass ich nicht so ganz verstehe, was genau ich wie programmieren müsste, damit der Computer den Mikrocontroller erkennt und die Schalter auch erkennt, um sie im Flugsimulator zu benutzen.
:
Bearbeitet durch User
Das wird wohl auf eine HID USB Tastatur ausgehen. Deine Schalter entsprechen dann Tasten auf der Tastatur. Ich habe noch alte Trusmaster Joysticks, die hatte man in den alten Tastaturanschlüssen zwischengeschliffen. Aus der Zeit vor USB.
Tobias S. schrieb: > Das Problem ist, dass ich nicht so ganz verstehe, was genau ich wie > programmieren müsste, damit der Computer den Mikrocontroller erkennt und > die Schalter auch erkennt, um sie im Flugsimulator zu benutzen. Sieh Dir das v-usb-Projekt an: http://www.obdev.at/products/vusb/index.html Da gibt es diverse Beispiele, die sich mit HID beschäftigen. HID sind "Human Interface Devices", also Mäuse, Tastaturen und Joysticks. Und genau das brauchst Du für Deinen Fluchstimulator, äh, Flugsimulator. Beispiele: http://www.obdev.at/products/vusb/hidkeys.html http://www.fulhack.org/boxster/index.html http://denki.world3.net/quicklaunch.html
@Stephan Das sieht ja echt gut aus. Wie viele Schalter könnte man da anschließen? Womit hast du die Software geschrieben? Und, könnte man das ganze auch eine Nummer größer machen? Also anstatt des ATMEGA8 zum Beispiel einen ATMEGA32 nehmen? Ist auf jeden Fall echt interessant, was du da gemacht hast :D
Tobias S. schrieb: > Wie viele Schalter könnte man da anschließen? Wenn man die LEDs weiterhin benutzt bleiben noch 13 GPIO komplett frei. Sagen wir 12. Das kann man in 6 Zeilen und 6 Spalen teilen. Damit koennte man nach http://extremeelectronics.co.in/avr-tutorials/4x3-matrix-keypad-interface-avr-tutorial/ 36 Tasten realisieren. Tobias S. schrieb: > Womit hast du die Software geschrieben? ASM und C. Arduino teilweise verfuegbar als "extern C"-wrapper der C-Bibliotheken. Tobias S. schrieb: > Und, könnte man das ganze auch > eine Nummer größer machen? Also anstatt des ATMEGA8 zum Beispiel einen > ATMEGA32 nehmen? ATmega328p ohne Probleme unterstuetzt - siehe Webseite. MfG
@Rufus Τ. Firefly Okay, das ist ja auch das, was Stephan benutzt. Danke für die Beispiele :D
@Stephan B. Sorry, ich bin gerade noch ein bisschen überfordert :D Also: Wie genau mache ich das mit V-USB? Ich habe jetzt gerade V-USB runtergeladen. Muss ich jetzt etwas auf den ATMEGA schreiben? Oder ist V-USB ein eigenes Programm? Oder sind das alles eigene Programme, die ich auf den ATMEGA schreiben kann? Wenn ja, welches muss ich nehmen? Wie würde der PC das dann erkennen?
Tobias S. schrieb: > Wie genau mache ich das mit V-USB? V-USB ist eine Firmwarebibliothek welche dir die Programmierung des USB physical layer und bissel Basicprotokoll abnimmt. Alles darueberhinaus musst du schon selber programmieren. Alles in allen wird dich das stark ueberfordern - du musst ja schliesslich auch zusaetzlich bissel USB Interna kennen. Es gibt fertige Beispiele welche HID darauf aufbauen. Diese sind leider i.d.R extrem schludrig "zusammengekippt" und implementieren das USB nicht korrekt. Mein Implementierung wird sich 99.9% an: Device Class Definition for Human Interface Devices (HID) Firmware Specification--6/27/01 Version 1.11 http://www.usb.org/developers/hidpage/HID1_11.pdf halten. Tobias S. schrieb: > Muss ich jetzt etwas auf den ATMEGA schreiben? Du solltest vorher bissel AVRDUDE ueben. Man programmiert und anschliessend kompiliert man seine Firmware. Der fertige Bytecode wird in den Flashspeicher des AVR geschrieben. Zumindest den "Compilieren" Punkt kannst du kurz auslassen und dich kurz auf lezteres konzentrieren: http://vserver.matrixstorm.com:1114/bideavr/atmega8.html (angepasste Web GUI von meinem AVR Stick Projekt) MfG
:
Bearbeitet durch User
Hier gibt es USB-Interfaces und Panel Zubehör für den MS Flight Simulator in grosser Auswahl und noch nicht mal so teuer: http://www.desktopaviator.com/Products/Model_2230/index.htm
Was man auch recht gut zum Basteln verwenden kann ist ein PC DASH. http://de.wikipedia.org/wiki/PC_Dash Da kann man auf die Tasten auch ganze Befehlsketten legen. einfach die Folientasten durch eigene Taster aus dem "Cockpit" ersetzen.
Der Joy Warrior kann 32 Tasten + 3 Achsen. Und der hat die Software schon fix und fertig.
Bei deinem Kenntnisstand solltest du echt einen fertig programmierten Controller nehmen. Für mehr Tasten dann halt den KeyWarrior.
Tobias S. schrieb im Titel des Beitrag #3883606:
>hertsellen
Du kannst ja nicht einmal den Titel richtig schreiben, was willst du
dann mit nem USB-Interface?
@o_O Naja, das kann doch jedem mal passieren. Sind 2 vertauschte Buchstaben, was keinen Einfluss darauf hat, ob ich was bauen kann oder nicht :D
@Christian R. Ich wollte es ja lernen, irgendwann muss man ja mal anfangen :D
Von Microchip gibt es in der MLA [1] ein Beispielprogramm wie man einen HID Joystick bauen kann, Sprut [1] hat da auch was. [1] http://www.microchip.com/pagehandler/en-us/devtools/mla/home.html [2] http://www.sprut.de/electronic/pic/projekte/usbgame/usbgame.htm
Tobias S. schrieb: > Ich wollte es ja lernen, irgendwann muss man ja mal anfangen :D Dann schau dir mal das an: http://www.recursion.jp/avrcdc/cdc-io.html Wenn du in Visual-Basic ein Terminal(COM-Port) erstellen und diesem Strings übergeben kannst, dann könntest du auch etliche LEDs via USB blinken lassen, wie hier kürzlich gefordert wurde. Wie man allerdings Kommandos in die Kbd-Queue einreiht, mußt du der Windows-API entnehmen.
Peter Xuang schrieb: > Dann schau dir mal das an: > http://www.recursion.jp/avrcdc/cdc-io.html http://www.recursion.jp/avrcdc/index.html " [...] The back door to the low-speed bulk transfer is gradually closing on the newer OS. After enjoying this USB technology, switch to the HID protocol or to MCU having on-chip USB controller. "
und warum nicht eine 10€ USB Tastatur schlachten und mit Schalter verdrahten nach Wunsch? sind doch nur Tastenmatrixen man braucht nur die Zeilen Spalten ausklingeln.
Stephan B. schrieb: > " > [...] > The back door to the low-speed bulk transfer is gradually closing on the > newer OS. After enjoying this USB technology, switch to the HID protocol > or to MCU having on-chip USB controller. > " Most posters do criticise comments, instead of giving new answers. Brilliant members will advance solutions. Dein Kommentar kritisiert, bringt aber keine neuen Lösungsansätze. Mir ist es egal. Ich kenne genug Labertaschen, die wissen, wie es nicht mehr geht. Eine andere Lösung können diese aber auch nicht bringen. Schwach.
This was a quote from their own webside, btw: > switch to the HID protocol > or to MCU having on-chip USB controller. Loesungsansatz nicht genug? Ggf. zur Entspannung der Lage: Ich arbeite an einer Arduino Lib auf Basis von V-USB die Zeichen per Interrupttransfer uebertraegt. Der aufwaendigste Part dieses Vorhabens ist die Implementierung von Treibern fuer die gaengigen Betriebssysteme wie Linux und Windows. Die CDC Klasse (und damit die Defaulttreiber) kann ja so bekanntermassen nicht verwendet werden. Will da jemand ggf. sogar mitmachen? MfG
:
Bearbeitet durch User
> und warum nicht eine 10€ USB Tastatur schlachten und mit > Schalter verdrahten nach Wunsch? Das habe ich mal versucht. Es scheiterte daran, dass der Tastaturcontroller nicht auf einer Platine montiert war, sondern auf einer Folie, die beim Löten weg schmilzt. Auslöten ging auch nicht, denn Chip und Folie waren eine feste Einheit, so wie man das auch von Taschenrechnern kennt.
@Stephan B. Echt genial, was du da gemacht hast :D Ich hab im Moment leider nur Sachen, um die THT-Version davon zusammenzubauen. Gibts davon auch EAGLE-Dateien? Die der vierten Version kann man irgendwie auch nicht runterladen.
Tobias S. schrieb: > @Stephan B. > Echt genial, was du da gemacht hast :D > Ich hab im Moment leider nur Sachen, um die THT-Version davon > zusammenzubauen. Gibts davon auch EAGLE-Dateien? Die der vierten Version > kann man irgendwie auch nicht runterladen. Jo. Kommt in den naechsten Tagen - Sorry. Hab im Schematic noch Schreibfehler (LED's --> LEDs) die ich noch wegmachen will. Files kommen - versprochen. MfG
Ich bin mal wieder der, der Jehova schreit: Bei deinem Wissenstand wird das nix. Aber das macht auch nix. Wenn man keine Ahnung von Microcontrollern hat, aber Spaß am basteln und auch gerne programmieren lernen möchte, ist der Arduino das perfekte Board für den Einstieg. Der "Arduino Leonardo" bzw. der "Arduino Pro Micro" bieten fertige HID-Stacks um dem Computer ein beliebiges Eingabegerät vorzutäuschen. Hier zum Beispiel ein einfaches Beispiel für einen Joystick-Controller: http://www.imaginaryindustries.com/blog/?p=80 Da wird dann auch gleich noch erklärt, was man eigentlich tun muss. So, und nun steinigt mich.
Ich stehe vor der selben Aufgabe. Was würde denn gegen V-USB sprechen und für einen seperaten USB Chip mittels RXD und TDX?
Das dein µC dann auch noch andere Dinge machen kann - zusätzlich zum USB
Okay - auch weil ich Feedback braeuchte: Anbei meine Arduino VUSB HID Library - noch buggy, nur Vorabversion, Interfaceset nicht stabil. Im Gegensatz zu den existieren http://code.google.com/p/vusb-for-arduino/ Versionen enthaelt diese mehrere Verbesserungen/fixes. U.a.: 1) das USB-Layout ist nicht hardcoded Metaboard, sondern wird der Boardbeschreibung entnommen 2) es werden 2 Interruptendpunkte fuer gleichzeitig Maus und Keyboard implementiert 3) es wird das HID-Bootprotokoll implementiert - dieses funktioniert auch im BIOS und in Betriebssystemen mit leagacy USB. 4) es gibt es primaer als C Bibliothek Bitte achtet auf eine korrekte Arduino-Boardbeschreibung, welche auch die PINs fuer VUSB definiert (Default ist Metaboard). Etwa wie: http://matrixstorm.com/avr/tinyusbboard/tinyusbboard_arduino.zip In Windows scheint zumindest das erste Bsp. zu haengen - ich vermute das haengt mit der Senderatenbegrenzung die Windows vorgibt zusammen. Die HIDKeyboardMouse Bibliothek ist eigentlich fuer AVR-C, es war aber hier wegen des Bedarfs der Arduino-Port geeigneter. MfG und gute n8 -Stephan
Wie so ein Cockpit realisiert werden kann findet man z.B. hier: http://familienvater-cockpit.de/ Ohne Erfahrung mit der Programmierung von Microcontrollern wird der Komplettselbstbau eher wenig erfolgreich. Insbesondere wenn man einen waghalsigen Hack wie V-USB als Basis nimmt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.