Tastatur- und Mausschnittstelle

Wie verbinde ich einen Mikrocontroller mit PC USB, damit ich die Tastenanschläge und Bewegungen von Tastatur und Maus imitieren kann? Ich habe von Software-Fixes gehört, aber gibt es einen IC, der die Tastenanschläge nachahmen kann, nachdem er Eingaben vom Mikrocontroller erhalten hat?

Ich bezweifle, dass es einen fertigen IC gibt (mit Ausnahme des Offensichtlichen: einen Tastaturcontroller, der von einer Tastatur gerettet wurde!), Aber Sie können jeden USB-fähigen Mikrocontroller dafür programmieren.
Einfachste Option ist ein Arduino Leonardo. Hat alles fertig für Sie.
Wenn Sie arduino verwenden möchten, lesen Sie Folgendes: Maus- und Tastaturbibliotheken
Gibt es ein Bluetooth-Modul, das das Gleiche kann?
Diese vorherige Frage könnte Ihnen bei Bluetooth helfen: electronic.stackexchange.com/questions/514/…

Antworten (1)

Ein auf dem ATmega32u4 basierendes Arduino kann dies tun und sowohl die Funktion des Mikrocontrollers als auch des Tastatur-/Maus-Emulators ausführen.

Zum Beispiel: Arduino Leonardo, Yun oder Arduino Micro.

Der Arduino Micro ist wegen seines Formfaktors schön.

Geben Sie hier die Bildbeschreibung ein

Die Bibliotheksunterstützung für USB-Tastatur- und -Mausemulation ist leicht verfügbar, um ein Projekt wie Ihres sehr einfach zu machen.

Dieses Code-Snippet öffnet ein neues Dokument, indem es CNTRL-N emuliert

   // new document:
  Keyboard.press(ctrlKey);
  Keyboard.press('n');
  delay(100);
  Keyboard.releaseAll();
  // wait for new window to open:code
Wie genau funktioniert das also? Ich habe mir den Schaltplan für das Mikro angesehen und sehe keinen FTDI oder irgendeine Art von USB -> UART-Konverter-IC. Würde das Senden der Tastenanschläge über USB von einem PC nicht auch eine Software erfordern, die auf dem Host ausgeführt wird?
wie kann ich das gleiche ohne arduino machen .. wie wenn ich ein hex byte von up sende es sendet den entsprechenden tastenanschlag an den pc .. danke
USB ist auf dem ATmega32u4 nativ. Firmware muss auf dem Arduino laufen. Der USB-KBD-/Maustreiber wäre bereits auf dem PC vorhanden.
Ah, ich habe vergessen, dass einige der neueren AVRs native Unterstützung haben. Das ist wirklich eine ziemlich interessante Sache.
Wie kann ich dies mit minimalem Softwareeinsatz tun? Ich führe bereits eine Menge Code aus und kann nicht viel von meiner Prozessorzeit erübrigen. Gibt es eine Möglichkeit, dies zu tun? Ich bin gerade ratlos, kann mir jemand sagen, wo ich suchen muss?
@seetharaman - hast du dir die gestern geposteten Links zur Tastaturbibliothek schon angesehen??? Wenn es immer noch zu groß ist, wäre die Verwendung eines großen Chips wahrscheinlich am effektivsten, aber Sie können erwägen, einen Chip für USB und einen anderen für Ihr Programm zu verwenden. Ein Uno mit neu programmiertem USB-Mikro könnte eine Option sein, ist aber wahrscheinlich einem größeren All-in-One-Gerät unterlegen (möglicherweise ARM statt AVR)
@ChrisStratton Ich habe diese Bibliothek gesehen. Das sehe ich als letzte Option.
@ChrisStratton sparkfun.com/products/10253 . Ich habe diesen Link gefunden und hatte gehofft, ein ähnliches IC oder Modul für das USB-Ding zu finden.
Sie haben bereits einen Link zu einer solchen Lösung erhalten, möchten dies jedoch aus unerklärlichen Gründen als Ihre "letzte Option" behandeln. Es gibt kaum einen praktischen Unterschied zwischen einem ab Werk mit einer Maske versehenen Mikro, um eine bestimmte Funktion auszuführen, und einem generischen Mikro, das mit verfügbarer Software geflasht wird, um diese Funktion auszuführen. Das serielle USB-Teil eines Herstellers mit "fester Funktion" stellte sich tatsächlich als eines seiner generischen Mikros heraus, das im Werk neu gekennzeichnet und geflasht wurde - es war immer noch vom Benutzer neu programmierbar!
@ChrisStratton "Das serielle USB-Teil mit "fester Funktion" eines Anbieters stellte sich tatsächlich als eines seiner generischen Mikros heraus, das im Werk neu gekennzeichnet und geflasht wurde - es war immer noch vom Benutzer neu programmierbar!" Ich dachte, wenn ich ein robustes IC finden könnte, müsste ich mir keine Sorgen um den Tastaturteil machen. Richtig? Jetzt entschieden, mit einer Software-Implementierung zu gehen. Danke