Kippschalter, für USB Signal am PC bauen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

google mal nach USB controller joystick. da kannst du dann ein paar encoder als drehknopf, oder eben jede menge schalter und knöpfe dran anschließen.

https://www.reichelt.de/encoder-fuer-diy-arcade-game-controller-rbt-diy-encoder-p258684.html

das auch noch selbst bauen wird selbst ein elektronik profi nur aus einem grund machen - zu beweisen, dass er es kann. ist nämlich teurer wie die komponenten dafür.

lg, anna


LenSimmer 
Fragesteller
 19.12.2021, 12:18

Ok, das kommt dem was ich möchte sehr nahe. Nur möchte ich auch noch Schalter mit 3 stellungen und vielleicht auch welche zum drehen. Denkst du das kann man per software dann noch programmieren?

0
Peppie85  19.12.2021, 17:40
@LenSimmer

den drehschalter kann man als poti auslegen. das bedeutet, du hast innerhalb einer bestimmten winkeltoleranz einen wert zwischen 0 und 100% den du als achse vom joystick ausgibst. das wäre dann also irgend ein wert zwischen voll stoff rückwärts, und voll stoff vorwärts bzw. ganz links bis ganz rechts. wenn du das ganze als rein postive achse einstellst z.B. drossel oder so, hast du dann deinen einstellwert.

alternativ könnte man mit einem encoder arbeiten. der sendet für jede raste die du nach rechts drehst ein "A" für jede raste, die du nach links drehst ein "B"

bei einem drehschalter mit drei oder vier stellungen hast du im wesentlichen zwei möglichkeiten:

entweder setzt du hinter jeden ausgang eine postive flanke. d.h. in dem moment wo du den schalter auf stellung 1 drehst sendet er ein "A" in dem moment wo du ihn auf 2 drehst ein "B" auf 3 ein "C" oder auf 4 ein "D"

du kannst aber auch, wenn der controller einen analogen poti eingang hat, einfach zwischen die stellungen 1 und 2 so wie 2 und 3 je einen 33 kOhm widerstand einlöten. gibst deine referenzspannung auf kontakt 4, die masse auf kontakt 1 und den ausgang auf den com kontakt des schalters.

so hast du dann praktisch auf stellung 4 die volle referenzspannung, auf stellung 3 zwei drittel der spannung, auf stellung 2 ein drittel auf stellung 1 keine spannung mehr.

das ganze wird dann wie gesagt als analger wert in den controller gegeben und wirkt quasi wie eine potiachse aber eben mit rastern. kommt eben drauf an, ob dein simulator mit dieser form der eingabe auch klar kommt.

lg, anna

1
Von Experte Roderic bestätigt

Es gibt Arduino-Boards, die können von sich aus schon USB-Eingabegeräte emulieren. Wie z.B. der Leonardo oder auch Due soweit ich weiß. Da kannst Du die Eingänge dann per Schalter/Taster ansteuern und Tastatur/Mauseingaben simulieren. Welcher Taster/Schalter dann das entsprechende Tastatursignal senden soll wird im Programm festgelegt... Da bist Du also frei. Sogar Makro's (Befehlsfolgen inkl Wartezeiten) könntest Du drauf legen.


LenSimmer 
Fragesteller
 19.12.2021, 12:21

Ok, danke.
https://www.reichelt.de/arduino-leonardo-atmega-32u4-usb-ohne-header-ard-leonardo-woh-p230577.html?PROVID=2788&gclid=Cj0KCQiAzfuNBhCGARIsAD1nu--lyZYhpK7mFLSFZ7NNxw9Yn7Fv2TKOhnWzZzk13cNukVNNupv8iIoaArlHEALw_wcB
Wenn ich mir zum Beispiel den anschaue, dann sieht das ja noch sehr leer aus.
Was brauche ich denn dazu. Netzteil oder reich der USB anschluss am PC, als Strom quelle?
Wie sieht es aus mit Kabeln? Und worauf muss ich achten, wenn ich mir Schalter kaufe? Gibt es eine Anleitung zum Verbinden?

0
RareDevil  19.12.2021, 12:46
@LenSimmer

Tutorials zu der Anschaltung und auch zum programmieren gibt es viele. Der läuft bis max 500mA Stromaufnahme komplett über USB. Der kann pro Pin eh nur 20mA und 200mA in Summe für den ganzen Chip. Reicht also per USB. Du brauchst auch eig nur ganz normale Taster, oder eben Drehschalter ect. Die Eingänge kannst Du per Code auf 5V schalten und mit dem Taster dann den Eingang auf Masse ziehen. Dann brauchst Du nicht mal mehr Wiederstände dazu. Pin 0 und 1 dürfen nicht verwendet werden, da diese zur Kommunikation mit dem PC dienen. Du kannst theoretisch auch Poti's einlesen und analgoge Werte weiter geben (Thottlecontrol)... Aber soweit hab ich mich noch nicht vorgetastet, da ich keine Verwendung als analoger Joystick hatte. Generell hab ich den noch nicht als Eingabegerät laufen lassen. Aber es gibt dazu genug Beispielprojekte, wie man sowas verdrahtet und programmiert.

1

Hallo,

wo ist nun das Problem?

Dann nimm doch einen Kippschalter und schalte an einen USB-Eingang (richtigen Pin am USB-Port!!) an 5V oder 0V.

Dann siehst Du das es so geht!

Grüße aus Leipzig


RareDevil  19.12.2021, 10:51

Und was soll das bringen? Ein USB-Pot kann keine logischen Signale auswerten, sondern ist ein Kommunikationsbus. Er benötigt also Telegramme, die von entsprechenden Treibern ausgewertet und umgesetzt werden...

0