Forum: Mikrocontroller und Digitale Elektronik Druckknopf um Aktion in Software auszulösen


von Michael P. (freakonaleash121)


Lesenswert?

Hallo zusammen,

ich programmiere seit einigen Jahren in meiner Freizeit kleinere 
Softwaretools mit "Qt" um Arbeitsabläufe zu automatisieren. Mein 
neuestes Projekt erfordert nun eine Hardwarekomponente. Genauer gesagt, 
möchte ich einfach mit einem Druckknopf in meiner Software eine Aktion 
auslösen. Prinzipiell könnte ich natürlich einen Knopf an der Tastatur 
wählen, allerdings soll es ein "richtiger" Knopf sein (von der Art her 
wie z.B. ein Alarmknopf in einer Bank unter den Tischen, wie man es in 
Filmen sieht).
Mein Problem: reine Software kann ich, insbesondere c++ mit "Qt". Ich 
habe nun leider keine Idee, wie ich die Sache mit dem Knopf realisieren 
kann. Ich habe zunächst gesucht, ob es einen "usb-knopf" gibt, der einen 
Tastendruck simuliert. Allerdings wurde ich nicht fündig.
Muss ich mit einem Mikrocontroller arbeiten? Z.B. arduino oder 
ähnliches? Habt ihr da konkrete Vorschläge, wie ich sowas angehen kann?
Danke im Voraus!

: Verschoben durch Moderator
von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Du kannst eine Seriellschnittstelle "Zweckentfremdenden" oder ein 
Paralell USB Chip wie der CH341A am USB Port verwenden.

von Melchi (Gast)


Lesenswert?

Also es gibt USB Buttons... oft als Buzzer.
Aber die sind meist ziemlich teuer.

Ich hatte neulich so einen Fall, bei dem eine Videoshow durch einen 
Näherungssensor ausgelöst werden sollte.

Dazu habe ich einfach einen Arduino micro genommen und die Keyboard 
Library verwendet. Der Arduino simuliert dann einen Tastendruck.

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

Das geht super easy und ist insbesondere mit einem Taster schnell 
aufgebaut.

von Chr. M. (snowfly)


Lesenswert?

Es gibt doch ein Knopf Tastaturen:
https://www.google.com/search?q=one+button+keyboard

Sonst würde mir noch einfallen:
-BT Selfieauslöser
-irgendwelcher Gamingkram(hebel und Knöpfe für Flugsims)
-Multimediabuttons in jeder Form und Grösse
-3€ Gamecontroller und 2 drähte an einen Button.
-Wenn ein Netzwerkport frei ist könntest du einen Loop per
Knopfdruck herstellen und den Link status überwachen.

Beitrag #6966839 wurde von einem Moderator gelöscht.
von Michael P. (freakonaleash121)


Lesenswert?

Danke für die Rückmeldungen! Zum Teil sehr inspirierend.

An die letzte Rückmeldung. Nett von dir, danke. Und Entschuldigung, dass 
ich nicht so ein Experte bin wie du. Wieso antwortest du, wenn du 
genervt bist?

von Heinz B. (Firma: Privat) (hbrill)


Lesenswert?

Ich würde es mir einfacher machen.
Einfach mit einem Bluetooth Barcode/QRcode Scanner
(gibt es für so ab ca. 40 € bei Amazon) oder sogar noch einen billigeren
mit USB-Kabel. Da haben sich die Manhatten - Dinger gut bewährt.
Dann online sich EAN - oder QR -Codes mit z.b. unterschiedlichen 
Zahlenreihen erstellen lassen, ausdrucken und diese einscannen.
Da hast du auch einen Knopf (am Scanner) und kannst zusätzlich mehrere
Aktionen (Barcodes) auslösen, je nach Anzahl der Barcodes. Der Scanner
ist ja einfach nur eine HID-Tastatur und kann somit in jedes Editierfeld 
eingelesen werden.
Das Auslesen und Zuordnen zu den jeweiligen Aktionen ist ja Kinderkram.
Das wäre schnell und einfach.

von Dussel (Gast)


Lesenswert?

Michael P. schrieb:
> An die letzte Rückmeldung. Nett von dir, danke. Und Entschuldigung, dass
> ich nicht so ein Experte bin wie du. Wieso antwortest du, wenn du
> genervt bist?
Das ist ein bekannter Troll. Ignorier das einfach, geh einfach gar nicht 
drauf ein.

Nur damit es genannt wurde, es gibt USB-IO-Karten. Da kannst du 
beliebige Taster anschließen, deren Zustand dann über USB ausgelesen 
werden kann. Wenn es potentiell auch mal mehrere Taster werden oder auch 
eine Ausgabe nötig ist, wäre das vielleicht was.
Auf die Schnelle habe ich kein Beispiel gefunden, aber wenn du mit den 
anderen Lösungen nicht zufrieden bist, könnte man in der Richtung 
weitersehen.

von Schlaumaier (Gast)


Lesenswert?

Normaler Anschluss an USB.

Und dann mit einen normalen ON TIMER Funktion die Schnittstelle 
auslesen.

ON Timer (oder wie das bei dir heißt) ist einen System-Funktion.

Sie unterbricht den normalen Ablauf des Programms, ruft die SUB auf, 
arbeitet sie ab, und macht dann weiter im normalen Programmablauf.

In der Sub Redet das Prg mit den Arduino (Keine Dauergespräche bitte) 
und reagiert darauf.

Funktioniert übrigens unter z.b. VB-2010 hervorragend. Ich habe mal 
Testweise zwischen 2 Arduinos über 433 MHZ Daten so ausgetauscht. ;)

von Michael P. (freakonaleash121)


Lesenswert?

Super, vielen Dank an alle. Werde mir alle Möglichkeiten mal genauer 
anschauen und dann wählen.

von EAF (Gast)


Lesenswert?

Michael P. schrieb:
> ob es einen "usb-knopf" gibt, der einen
> Tastendruck simuliert. Allerdings wurde ich nicht fündig.

Vorschläge
Suche mal bei Ebay nach "Beetle Bad USB 32U4" oder alternativ "Tiny85 
Digispark"

Michael P. schrieb:
> Z.B. arduino oder ähnliches?
durchaus möglich.

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
Noch kein Account? Hier anmelden.