Mein erstes Projekt mit Arduino

Hallo zusammen,

Ich will den nächsten Schritt machen und mein Simulator Setup am PC um/ausbauen.
Zum Plan:
Mein Momentanes Setup besteht aus einem Joystick, Lenkrad und einer Buttonbox die mit einem Arcade Controller der 12 Schaltfunktionen schaltet. Jedoch sind es zum einen Kabel ohne ende die mich stören, zum anderen sind die Belegungsmöglichkeiten an dem Arcade Controller sehr begrenzt...
Jetzt möchte ich mir eine Seitenkonsole bauen, diese soll ca 50 Schalter/Taster haben, zusätzlich will ich dort zwei Joystick´s verbauen.
Also habe ich mir kurzerhand einen Skizze gemacht wie das ganze den aussehen soll, anschließend geschaut welcher Arduino den für mich der richtige wäre.

Jetzt zum Problem/Frage, ich tendiere zum Arduino Mega 2560 ABER ich habe bei meiner Recherche immer wieder wieder wiedersprüchliche Aussagen gelesen in Bezug auf die Joystick´s und auf die Möglichkeit den Mega 2560 als Game Controller zu verwenden

Kann ich mit dem Arduino Mega 2560 die Schalter anschließen, plus 2 Joystickß´s ?
Oder welcher Arduino würdet ihr mir hier empfehlen ?

Mit freundlichen Grüßen

Patrick

Das Projekt HoodLoader2 könnte es ermöglichen, den Arduino Mega 2560 als HID (Human Interface Device) zu verwenden.

(HoodLoader2 verändert die Firmware des ATmega16U2, der für die USB-Verwaltung auf einigen Arduino-Boards wie dem Mega 2560 zuständig ist. Dadurch kann das Board so programmiert werden, dass es sich wie ein Standard-USB-Gerät verhält, zum Beispiel als Tastatur, Maus oder sogar als Gamecontroller.)

Arduino Mega hat keine native USB Schnittstelle und kann darum nicht einfach als Tastatur Emulator verwendet werden. Der USB Adapter (ein ATmega16U2) kann umprogramiert werden damit er eine Tastatur emulieren kann, dazu ist aber über ICSP die Firmware des ATmega16U2 auszutauschne und danach geht das Uplaod des Sketches über USB nicht mehr sondern auch dieses nur mehr über ICSP. Um über ICSP zu programmieren brauchr es einen ISP Programmierer oder einen anderern Arduino der als ISP programmiert wurde.

Einfacher ist einen Arduino Leonardo oder Arduino MICRO zu verwenden. Der wird ohne Umprogrammierung des Bootloaders / Firmware ala Tastatur bzw Maus Emulation funktionieren.

50 Tasten / Schalter kannst Du ohne Probleme auslesen indem Du sie in einer Matrix verschaltest. 16 Pins können 64 Tasten abfragen. Du kannst auch dezidierte Tastaturauslese-IC nehmen wie zB den SX1509

siehe SX1509 I/O Expander Breakout Hookup Guide - SparkFun Learn

Ich würde dann noch jedem Taster/Schalter eine Diode spendieren damit sie sich nicht gegenseiteig beeinflussen.

Grüße Uwe

Ja.

Allerdings kann ein UNO mit entsprechenden Portexpandern das auch.

Das geht, aber nicht einfach so. Siehe Anleitung: UNO als Human Interface Device (HID) Tastatur. Was da für den UNO steht, gilt grundsätzlich auch für den Mega2560, wenn es ein originaler mit ATmega16U2 ist.

Empfehle ich Dir den Mega2560 als HID? Nein!

Zwei andere waren schneller, nun ja :slightly_smiling_face:

Es geht nicht nur um eine große Anzahl Eingänge.

Es geht auch darum an was du die ganzen Sachen anschließt.

An was für einem Gerät werden die ganzen Konsolen betrieben?

  • Playstation?
  • XBox?
  • PC ?

was für Spiele sollen gespielt werden?

Es ist nicht damit getan irgendein Kabel von der Konsole in das "Spielgerät" einzustöpseln ind dann würde schon alles laufen.

Was wären denn Original-Gerätschaften die da verwendet werden?

  • Joysticks? analoge oder digitale?
  • Tastatur?
  • Maus?

Ein Arduino Mega kann zwar per USB angeschlossen werden wird aber als COM-Port behandelt. Und ein COM-Port ist etwas gaaanz anderes als eine Tastatur oder Maus.

Wenn das originale Zubehör einen analogen Joystick erwartet -analog im Sinne von "feinfühliges Knüppel bewegen" ist das noch mal etwas anderes.

Von einer USB-Kopfhörer/Mikrofon-Kombi erwartest du auch nicht das man damit Texte schreiben kann.

Also pack mal alle Details auf den Tisch. Erst dann kann man eine Empfehlung aussprechen.

Vielen Dank für die Schnellen Antworten !!

Also die Fakten:
Betrieben wird die Seitenkonsole ausschließlich am PC.
Gespielt werden soll damit Landwirtschafts Simulator, Bau Simulator etc aber auch Würde ich gerne die Knöpfe als ButtonBox für Assetto Corsa nutzen
Original Gerätschaften würden da typischerweise Maus, Tastatur, Gamepad/Joystick ind dem Falle analog.

Also das ganze ist nicht ganz trivial.

Ein Microcontroller der sogenanntes "native USB" hat ist da geeignet.
Der Arduino Mega 2560 hat kein native USB.

Ein Arduino Leonardo oder Arduino Due hat native USB.

Hier hat jemand etwas entsprechendes für Flugsimluator entwickelt.

Die Dokumentation ist eher spärlich.
Hier hat jemand über Probleme und Lösung gepostet
https://forum.giants-software.com/viewtopic.php?f=955&t=136034

Ich würde dazu mal in Landwirtschafts-Simulator-Foren fragen.

Super dann mal vielen vielen Dank für eure Hilfe !!!
Dann werde ich mir wohl ein Leonardo holen, da dieser dort ja am verbreitesten ist. Nur noch eine letzte Frage zur Kontrolle. Das es möglich ist via Matrix mehr Tasten/Schalter und Pins zu belegen ist mir klar, aber wie schaut es beim Lonardo aus mit dem Joystick, bzw eher gesagt mit dem zweiten der dort verbaut werden soll ? Wenn ich richtig recherchiert habe hat der Leonardo 6 AnalogIn Anschlüsse, bei denen ich dann quassi 2 Joysticks mit je 3 Achsen verbauen könnte ?
Dann würde ich mich für den Leonmardo entscheiden, da er ja Anfäanger freundlich ist und ich mir den Arduino Einstig nicht zu schwer machen will !

Auch mittels Arduino-IDE programmierbar sind die Teensys. Ich habe mit dem nicht mehr verfügbaren Teensy 3.2 schnell gute Ergebnisse erzielt. Aktuell sind die leider teuren Teensy 4.1. Anwendung Using USB Joystick. Die Hardware kann über nur einen USB-Anschluß mit mehreren USB-Einheiten auf dem PC kommunizieren, was mit der IDE einstellbar ist:

Wäre eine weitere Möglichkeit :slightly_smiling_face:

Hallo mcburning82

Der/die/das Arduino-Due ist auch ein brauchbares Board mit viel viel I/O Pins.

Die Demoseite des Teensy 4.1 beschreibt es recht präzise.
@agmue: haste das schon mal ganz praktisch getestet?

Mein Teensy 3.2 hat schon eine kleine Staubschicht angesetzt. MIDI und Keyboard habe ich getestet, den Freudenknüppel noch nicht.

Aber es soll ja ein Leonardo werden, da bleibt die Staubschicht wohl, wie sie ist :wink:

Aber ein 3,3V Controller mit sehr geringen max Ausgangsstrom. (3mA).

Grüße Uwe

Hallo zusammen,

Ich hab mir nun den Leonardo zu gelegt und schon etwas mit ihm gearbeitet. Nun wollte ich mich an die beiden Joystick´s waagen, also habe ich mir 4 Potentiometer rausgesucht mit je 10k und wollte diese schon bestellen. Allerdings bin ich dann als ich mich noch etwas belesen wollte über einige Posts gestolppert in denen gesagt wurde dass der Arduino im gesammten nur 10k kann.... Wenn ich das dann richtig verstehe muss ich mir 4 Potentiometer zulegen mit je 2,5k oder ist das einfach quatsch was ich da gelesen habe.
Ausserdem noch eine Frage, kann ich anstelle der Potentiometer auch welche mit Hall verwenden?

Grüße Patrick

Da wir nicht alle Bauteile weltweit kennen können, die da irgendwo existieren, kannst Du nur sinnvolle Antworten bekommen, wenn Du uns Links zu den Teilen gibst.
Potentiometer mit Hall klingt komisch. Meinst Du evtl. analoge Hall-IC?

Gruß Tommy

Sorry die habe ich vergessen :smiley:

Der Drehpotentiometer mit 10K ist auf Amazon nicht mehr verfügbar.... Da muss ich mir wohl einen anderen suche, bin da aber auch für Empfehlungen offen wenn jemand mit einen für den Joystick empfehlen kann. Meine alternative auf die schnelle wäre dieser

Der mit Halleffekt ist dieser

10 Turn heißt, du brauchst 10 Umdrehungen - das willst Du nicht wirklich.
Warum willst Du 4 Potis nehmen? Du hast doch nur 2 Achsen.
Wie willst Du das mechanisch aufbauen?

Hast Du Dir mal fertige analoge Joysticks angeschaut?

Gruß Tommy

Oh das mit den Umdrehungen hab ich wohl überlesen, NEIN das will ich nicht ^^
Mechanisch ist kein Problem, da habe ich den Joystick schon komplett fertig zum Drucken bereit, muss da dann lediglich noch die Aufnahme für den Poti machen
Ich will ja zwei Joystick´s mit je zwei Achsen verbauen, deswegen 4

Das ist einfach nur quatsch

Der Widerstand an einem ADC-Eingang sollte möglichst nicht weit über 10 kOhm liegen, da dann der Kondensator nicht schnell genug nachgeladen wird.

Gruß Tommy