Zündschloss am Pc?

1 Antwort

Das universellste ist ein Arduino mit "U4".

Der kann sich dann als USB Gerät am PC anmelden, sogar mehrere gleichzeitig.

Der kann sich dann als Joystic/Gamepad, Tastatur, Maus usw. am PC anmelden und dann auf Taster, Potis, Schalter, Sensoren usw. reagieren und dann Tastendrücke auf der Tastatur - sogar ganz komplizierte Abfolgen und Kombinationen - Mausklicks, Scrollradbewegungen, Joystickbewegungen und Feuerknöpfe an den PC senden.

Woher ich das weiß:Berufserfahrung
Henning6835 
Fragesteller
 17.09.2023, 10:39

Habe vergessen zu erwähnen, ich kann nicht sonderlich gut programmieren. Deswegen war mein Ziel das eigentlich mechanisch zu regeln

0
Commodore64  17.09.2023, 11:17
@Henning6835

Das ist nicht schwer. einfach ein Beispiel öffnen und dann umschreiben.

Du brauchst nur die Arduino Programmierumgebung zu installieren, die hat die Beispiele direkt eingebaut.

Hier wäre so ein Beispiel

https://docs.arduino.cc/built-in-examples/usb/KeyboardMessage

Als Befehle brauchst Du dann nur die Funktionen keyboardpress() und keyboardrelease().

https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardpress/

Das kann dann z.B. so aussehen für "Shift + F2"

Keyboard.press(KEY_LEFT_SHIFT);  // press and hold Shift
Keyboard.press(KEY_F2);          // press and hold F2
Keyboard.releaseAll();           // release both
0
Commodore64  17.09.2023, 11:27
@Henning6835

Du kannst aber auch eine ganz billige Tastatur zerlegen.

Da drin ist fast immer eine kleine Platine die an die Tastenmatrixfolie angeschlossen ist. Die Folie verbindet einfach zwei Pins am IC wenn man eine Taste drückt.

Einfach die Folien gegen das Licht halten und die Bahnen zur gewünschten Taste verfolgen. Dann ein Relais dort an die Pins von der Kontaktleiste wo die Folie dran war löten.

Wird der Relaiskontakt geschlossen, dann ist das genau so als wenn man die entsprechende Taste gedrückt hätte.

Für das Zündschloss müsstest Du dann eine Schaltung bauen die nur Impulse erzeugt, also beim Einschalten der Zündung z.B. kurz F12 betätigt und beim ausschalten z.B. kurz F11. Der Arduino kann so was per Software viel einfacher machen.

0
Henning6835 
Fragesteller
 17.09.2023, 12:41
@Commodore64

Habe mal bissle rumgegooglet, ein arduino wäre wirklich am sinnvollsten. Aber wäre der wiedersage vom Zündschloss nicht viel zu hoch? Ich weiß nicht genau was ein arduino so an Strom ausgibt, aber ich denke nicht das das reicht

0
Commodore64  17.09.2023, 16:03
@Henning6835

Das Zündschloss kannst Du wie jeden anderen Schalter auch benutzen.

Beim Arduino geht man meistens hin und legt den EIngangspin auf Plus. Das kann man machen in dem man die internen "Weak Pullups" einschaltet. Die ziehen den Pin schwach nach Plus. Der Schalter schaltet den Eingang dann nach Masse. In der Software prüft man ob der Pin "HIGH" (eine Eins) oder LOW (eine Null) sieht.

Bei langen Leitungen kann es so zu Fehlauslösungen kommen. Hier sollte man dann selber Widerstände die einen kräftigeren Strom liefern einlöten. Hier reichen 1kΩ bis 10kΩ. Stark ist hier relativ, bei 1kΩ hast Du bereits 5mA die durch den Schalter fliessen. Das schafft kein Störsignal zu überwinden. Zum ausprobiern oder wenn der Schalter direkt am Arduino ist reichen aber die internen Pullups.

Das einzige Problem, dass Du mit dem Zündschalter bekommen kannst ist, dass das ein Leistungsschalter ist. Normale Taster/Schalter für Signale haben eine Goldoberfläche auf den Kontakten. Die ist weich und sorgt für sauberen Kontakt und wenig prellen. Leistungsschalter haben aber eine Silberschicht oder eine andere harte Legierung auf den Kontakten. Der Kontakt prellt beim schalten so dass mehrere Impulse entstehen. Die kann man beim Arduino durch eine kleine Wartezeit ignorieren. Das nennt sich "Entprellen". Beispiele wie man das macht gibt es viele.

Es reicht auch einfach 1/10 Sekunde in der Programmschleife zu warten, also das Programm wartet nach jeder Prüfung der Schalter/Taster bevor es erneut prüft. Bis dahin haben sich die Kontakte beruhigt so dass der nicht mehrfach drücken/umschalten sieht.

Ein Problem könnte werden wenn die Kontaktoberfläche oxidiert. Bei Leistungschaltern entsteht beim schalten ein Funken der die Oberfläche des Kontaktes frei brennt. D.h. der Schalter könnte ohne starken Strom schalten irgendwann nicht mehr richtig schalten. Falls das irgendwann passiert kann man das beheben in dem man einen großen Kondensator parallel zum Kontakt schaltet. Der lädt sich langsam über die Pullups auf und wenn der Kontakt schaltet, gibt es einen Kurzschluß der dann ordentlich Strom durch den Kontakt jagt. Das sollte man aber dann nur im Notfall machen wenn der Kontakt nach monaten oder Jahren versagt. Wenn das also sehr lange dauert bis das passiert kann man das auch per Hand machen, also Drähte zum Arduino trennen, einen dicken, geladenen Kondensator dran anschließen und den Schalter einschalten.

Wie gesagt, je nach Kontaktoberfläche kann das passieren, muss aber nicht. Solltest Du halt nur wissen wenn der Schalter irgendwann nicht mehr richtig oder gar nicht mehr funktioniert.

0