Erstellen Sie Ihre eigenen benutzerdefinierten Tastenkombinationen mit einem Arduino

Erstellen Sie Ihre eigenen benutzerdefinierten Tastenkombinationen mit einem Arduino / DIY

Der bescheidene Arduino kann eine Menge tun, aber wussten Sie, dass er eine USB-Tastatur emulieren kann? Mit dieser einfachen Schaltung können Sie die schwer zu merkenden langen Tastenkombinationen in einer einzigen benutzerdefinierten Tastenkombination kombinieren. Hier ist das Endergebnis:

Noch nie ein Arduino benutzt? Erste Schritte mit Arduino: Einsteigerhandbuch Erste Schritte mit Arduino: Einsteigerhandbuch Arduino ist eine Open-Source-Plattform für das Prototyping von Elektronikgeräten, die auf flexibler, benutzerfreundlicher Hardware und Software basiert. Es ist für Künstler, Designer, Hobbyisten und alle gedacht, die interaktive Objekte oder Umgebungen erstellen möchten. Lesen Sie zuerst mehr.

Was du brauchst


Folgendes benötigen Sie, um dieses Projekt zu realisieren:

  • 1 x Arduino Pro Micro.
  • Momentane Tasten oder Tastaturtasten.
  • 10K Ohm Widerstände.
  • Verschiedene Anschlussdrähte.
  • 1 x 220 Ohm Widerstände.
  • 1 x 5 mm (0,197 Zoll) LED.
  • 1 x 5mm LED-Halter.

Für dieses Projekt benötigen Sie ein sehr spezifisches Arduino. Ich verwende ein Pro-Micro-Gerät, da diese so klein und billig sind, dass Sie ein Arduino benötigen, das über USB-Serial im Prozessor (Atmega32u4) verfügt. Es ist möglich, dieses Projekt mit anderen Arduinos, wie einer UNO oder Nano, zu erstellen. Allerdings ist es sehr anstrengend, das Bios neu zu laden und herumzudrehen, um die Dinge zum Laufen zu bringen. Klone anderer Arduino-Modelle funktionieren normalerweise überhaupt nicht, aber ein Pro Micro-Klon ist auch in Ordnung.

OSOYOO Pro Micro ATmega32U4 5V / 16MHz Modulplatine mit 2-reihigem Pin-Header für Arduino Leonardo Ersetzen ATmega328 Pro Mini OSOYOO Pro-Micro-ATmega32U4 5V / 16MHz-Modulplatine mit 2-reihigem Pin-Header für Arduino Leonardo Ersetzen Sie ATmega328 Pro Mini Kaufen Sie jetzt bei Amazon $ 8.99

Sie benötigen einen Momentknopf, einen 10K-Ohm-Widerstand und einen geeigneten Anschlussdraht für jeden Knopf, den Sie verwenden möchten. Ich verwende Cherry MX mechanische Tastaturschalter für die eigentlichen Tastenkombinationen irgendein Der Schalter funktioniert, sofern er momentan ist und nicht einrastet.

Abhängig davon, wie Sie dies erstellen, benötigen Sie möglicherweise einige andere Elemente. Wenn Sie einen Prototyp erstellen möchten, benötigen Sie ein lötfreies Steckbrett. Es lohnt sich, das Geld für ein gutes Geld auszugeben - sie können manchmal sehr unzuverlässig sein. Wenn Sie dies einpacken möchten, möchten Sie ein Stripboard kaufen.

Plan erstellen

So funktioniert das. Das Arduino ist so programmiert, dass es sich wie eine USB-Tastatur verhält - was Ihren Computer betrifft, so ist es. Mehrere mit dem Arduino verbundene Tasten senden Tastenbefehle an Ihren Computer. Sie drücken nur eine Taste, aber Ihr Computer wird denken, dass Sie gedrückt haben Alt > F4, zum Beispiel.

Einen Schalter auswählen

Es gibt verschiedene Variationen von MX-Switches. Diese Website bietet eine hervorragende Einführung, die jedoch im Wesentlichen auf Lärm und Druck zurückzuführen ist. Einige Modelle erfordern mehr Kraft zum Pressen, und einige Modelle sind mechanisch “klicken” Ton beim Drücken. Ich habe Cherry MX Browns verwendet, die beim Drücken kein Geräusch machen. Sie haben alle die gleichen Abmessungen. Wählen Sie daher jedes Modell, das Sie mögen (oder mischen und anpassen), ohne sich Sorgen zu machen.

Sie müssen natürlich auch ein paar Schlüsselkappen kaufen, und es gibt eine Welt von individuellen Designs, die Sie auswählen können - wir haben sie bei KeyboardCo im Vereinigten Königreich gekauft.

Der Fall

Ich habe diesen Fall in 3D gedruckt, und Sie können den herunterladen .STL Dateien von Thingiverse. Machen Sie sich keine Sorgen, wenn Sie keinen 3D-Drucker besitzen. Sie können diesen Drucker trotzdem erstellen. Viele Websites bieten 3D-Druckdienste an, beispielsweise 3D-Hubs oder Shapeways. Alternativ ist dies ein sehr einfacher Fall. Sie können aus Kunststoff, Plexiglas, Holz oder sogar Pappe selbst bauen. Wenn Sie wirklich sparsam sein wollen, verkaufen Cherry MX einen auf Amazon (UK) eingestellten Switch Tester / Sampler. Sie benötigen 4 M5 x 35mm Schrauben und 4 M5 Muttern. Sie können diese natürlich auch durch eine geeignete Alternative ersetzen.

Max Keyboard-Tastenkappe, Cherry MX-Schalter, O-Ring Pro-Sampler-Testkit Max-Tastatur-Tastenkappe, Cherry MX-Schalter, O-Ring Pro-Sampler-Testkit Kaufen Sie jetzt bei Amazon

Wenn Sie Ihren eigenen Fall herstellen, gibt es ein wichtiges Detail, das Sie wissen müssen: Cherry MX-Schalter werden in ihre Befestigungslöcher gesteckt. Sie benötigen ein quadratisches Befestigungsloch von 14 x 14 mm (0,551 Zoll), wobei die Platte nicht dicker als 1,5 mm (0,059 Zoll) ist. Wenn Sie sich zu weit von diesen Abmessungen entfernen, werden Ihre Switches möglicherweise nicht mehr korrekt montiert.


Die 3D-gedruckte Hülle besteht aus zwei Teilen, der oberen und der unteren. Schieben Sie die Cherry MX-Schalter in die quadratischen Löcher:

Stellen Sie sicher, dass Sie die Schalter richtig herum montieren. Die Spitze hat die Wörter “KIRSCHE” auf, und der Boden hat eine kleine Kerbe. Setzen Sie eine 3mm LED in diesen kleinen Schlitz ein:

Möglicherweise sehen die LEDs am besten montiert aus “kopfüber”. Dies war bei den von mir verwendeten Tastenkappen der Fall und hat keinerlei Auswirkungen auf die Schalter.

Sie sollten jetzt neun Schalter mit 9 LEDs haben. Es ist nicht erforderlich, diese Teile einzukleben. Das Lot hält die LEDs und die Reibung die Schalter.

Als nächstes schrauben Sie die LED-Halterung ein (lassen Sie die LED vorerst entfernt). Die Montage des Gehäuses wird später abgeschlossen, sobald die Schaltung aufgebaut ist.

Die Rennbahn

Diese Schaltung ist auf einem Stripboard aufgebaut. Dies ist hervorragend für den Aufbau von semi-permanenten Schaltungen ohne die Kosten einer Leiterplatte (PCB). Es ist einfach ein Stück Glasfaser mit Kupferbahnen, die parallel in eine Richtung verlaufen. Diese Bahnen können sowohl gelötet als auch geschnitten werden. Das Schneiden einer Spur kann mit einem Spezialwerkzeug oder einem kleinen Bohrer erfolgen.

Nicht zu sicher beim Löten? Schauen Sie sich diese einfachen Projekte an. Lernen Sie, wie Sie mit diesen einfachen Tipps und Projekten löten Lernen Sie, wie Sie mit diesen einfachen Tipps und Projekten löten Sind Sie ein wenig eingeschüchtert von dem Gedanken an heißes Eisen und geschmolzenes Metall? Wenn Sie mit der Elektronik arbeiten möchten, müssen Sie das Löten lernen. Lasst uns helfen. Lesen Sie zuerst mehr.

Hier ist das Stripboard-Layout (ausgenommen nachfolgende Leads):

Stellen Sie sicher, dass Sie die Spuren unter den Widerständen und dem Arduino schneiden. Da es sehr schwierig sein kann, eine Stripboard-Schaltung zu lesen, gibt es hier eine Breadboard-Version:

Es ist eng anliegend, um alle Komponenten auf so engem Raum zusammenzudrücken. Schneiden Sie die Ecken Ihres Stripboards wie folgt ab:

Dies sollte ordentlich in die Unterseite des Gehäuses passen:

Stellen Sie sicher, dass die Spuren senkrecht laufen.

Verbinden Sie die Anode (langes Bein, positiv) der LED an den 200 Ohm Widerstand und dann an +5 V. Schließen Sie die Kathode an (kurzes Bein, negativ) grundieren. Bedecken Sie die Beine mit einem Schrumpfschlauch und drücken Sie sie in den LED-Halter. Es ist kein Klebstoff erforderlich, jedoch ist Ihr LED-Halter möglicherweise nicht steckbar. Daher müssen Sie diese Anweisungen möglicherweise anpassen.

Möglicherweise möchten Sie hier stattdessen eine zweifarbige LED verwenden. Auf diese Weise können Sie zwei oder mehr Schaltergruppen einrichten, wobei für jede Bank eine andere Status-LED angezeigt wird.

Jetzt ist es Zeit, alle LEDs für die Tastenkappen zu löten. Diese werden nur dazu verwendet, die Tasten zum Leuchten zu bringen, sodass Sie sie überspringen können, wenn Sie möchten, und sie müssen nicht an einen digitalen Pin angeschlossen werden, sondern nur an die Stromversorgung. Verbinden Sie alle Anoden und alle Kathoden miteinander. Lerne aus meinem Fehler - das ist viel einfacher, bevor du die Schalter verdrahtest! Verbinden Sie die Anoden über einen 220-Ohm-Widerstand mit +5 V und die Kathoden mit Masse. Diese LEDs sind parallel geschaltet. Hier ist die Schaltung nur für diese LEDs:

Verwenden Sie ein kleines Stück Schrumpfschlauch, um die Verbindung zwischen den LEDs und dem Arduino abzudecken:

Schalten Sie das Arduino ein, um zu testen, ob alle LEDs funktionieren. Sie müssen keinen Code hochladen. Wenn LEDs nicht funktionieren, überprüfen Sie Ihre Verdrahtung.

Verdrahten Sie nun die Schalter. Diese müssen über einen 10k-Widerstand angeschlossen werden, andernfalls stirbt der Arduino. Dies wird als tote Kurzschluss bezeichnet - +5 V geht direkt in die Erde, und alles, was von Ihrem Arduino übrig bleibt, ist ein Rauchstoß (vertrauen Sie mir, ich habe bereits einen getötet, damit Sie nicht müssen). Hier ist die Schaltung für einen Switch:

Diese Schaltung ist für alle neun Schalter gleich. Verbinden Sie die Schalter mit den digitalen Pins zwei bis zehn, die jeweils einen eigenen Widerstand von 10K zur Erde haben. Seien Sie vorsichtig beim Löten von Cherry MX-Switches, sie können etwas zerbrechlich sein. Möglicherweise möchten Sie diese direkt an ein anderes Stripboard anlöten, jedoch sind nachfolgende Kabel immer noch geeignet.

Das war's mit der Verkabelung. Möglicherweise möchten Sie eine USB-Buchse vom Typ B montieren. Die winzigen Stifte an diesen Buchsen sind jedoch oft schwer zu löten. Wenn Sie dies nicht möchten, machen Sie sich keine Sorgen. Der Micro-USB-Anschluss des Arduino passt genau in das Loch im Gehäuse. Wenn Sie etwas verwirrt über die verschiedenen USB-Typen sind, stellen Sie sicher, dass Sie die Unterschiede verstehen. Grundlegendes zu USB-Kabeltypen und zu verwendende Typen Grundlegendes zu USB-Kabeltypen und zu verwendende Typen Warum gibt es so viele verschiedene USB-Kabel? Lernen Sie die Unterschiede zwischen den USB-Anschlusstypen und den Kauf des besten Kabels kennen. Weiterlesen .

Überprüfen Sie abschließend, ob Ihre Schaltung korrekt ist. Ein Kurzschluss kann ein Arduino leicht zerstören und mit dem Stripboard leicht zu erledigen sein.

Der Code

Testen Sie jetzt, ob die Schaltung korrekt ist. Es ist eine gute Idee, dies zu tun, bevor Sie fortfahren, damit Sie alle Probleme jetzt beheben können, solange Sie können. Laden Sie diesen Testcode hoch (vergessen Sie nicht, die richtige Karte und den richtigen Port aus dem zu wählen.) Werkzeuge > Tafel und Werkzeuge > Hafen Menüs):

const int buttons [] = 2,3,4,5,6,7,8,9,10; // Array aller Button-Pins void setup () // Setze deinen Setup-Code hier, um ihn einmal auszuführen: Serial.begin (9600); pinMode (2, INPUT); PinMode (3, INPUT); PinMode (4, INPUT); pinMode (5, INPUT); PinMode (6, INPUT); pinMode (7, INPUT); pinMode (8, INPUT); PinMode (9, INPUT); PinMode (10, INPUT);  void loop () // füge deinen Hauptcode hier ein, um ihn wiederholt auszuführen: for (int i = 2; i < 11; ++i)  if(digitalRead(i) == HIGH)  // software de-bounce improves accuracy delay(10); if(digitalRead(i) == HIGH)  // check switches Serial.print ("input"); Serial.println(i); delay(250);    

Sie müssen möglicherweise die Pins ändern, wenn Sie die Schaltung geändert haben.

Öffnen Sie nach dem Hochladen den seriellen Monitor (oben rechts > Serienmonitor). Drücken Sie nacheinander jede Taste. Der serielle Monitor sollte die Nummer der Taste anzeigen, die Sie gedrückt haben. Genau wie bei der LED: Wenn sich Ihr Computer über zu viel Strom beschwert oder die LEDs beim Drücken einer Taste erlöschen, trennen Sie sofort die Verbindung! Sie haben irgendwo im Stromkreis einen Kurzschluss, überprüfen Sie den korrekten Stromkreis und es gibt keine Kurzschlüsse zwischen den Verbindungen.

Wenn alles funktioniert, setzen Sie die Schaltung in die Box ein. Sie können einen Kleber mit Kleber verwenden, um den Stromkreis an Ort und Stelle zu halten (obwohl die Drähte meine gut gehalten haben). Schrauben Sie auch den Deckel auf.

Es ist sehr einfach, den Arduino wie eine Tastatur erscheinen zu lassen. Wenn Sie einen Nano oder eine UNO verwenden, müssen Sie Ihren Arduino mit neu programmieren Geräte-Firmware-Update (DFU). Dies wird normalerweise verwendet, um neue Firmware auf den Arduino zu flashen. Sie werden es verwenden, um das Arduino mit einer neuen Firmware zu flashen, die es wie eine Tastatur funktionieren lässt. Dies wird hier nicht behandelt, da dies eine ziemlich komplexe Aufgabe ist. Die Arduino-Website bietet dafür ein gutes Tutorial.

Das Arduino Pro Micro macht diesen Schritt sehr einfach. Die zum Emulieren einer USB-Tastatur erforderliche Logik ist bereits in den Prozessor integriert. Es ist also so einfach wie das Schreiben von Code!

Richten Sie zuerst die Schlüssel ein:

Int-Tasten [] = 2, 3, 4, 5, 6, 7, 8, 9, 10;

Dies ist ein Array, das alle Pins enthält, mit denen die Tasten verbunden sind. Wenn Sie mehr oder weniger Schaltflächen oder verschiedene Pins verwendet haben, ändern Sie die Werte hier.

Ein Array ist eine Sammlung von Gleichgesinnten. Computer können Ihren Code für einen schnellen Zugriff optimieren und den Schreibvorgang beschleunigen.

Initialisieren Sie nun alle Pins als Eingänge:

void setup () // füge deinen Setup-Code hier ein, um ihn einmal auszuführen: Keyboard.begin (); // Setup-Tastatur für (int i = 2; i < 11; ++i)  // initilize pins pinMode(i, INPUT);  

Dies teilt dem Arduino mit, dass alle Pins im Array Eingänge sind. Eine Schleife wird dazu verwendet, also nicht zu schreiben pinMode (2, INPUT) Neunmal musst du es nur einmal schreiben. Das ruft auch Keyboard.begin. Dadurch wird eine in die Arduino-Bibliothek integrierte Funktion eingerichtet, die speziell für die Emulation einer Tastatur entwickelt wurde.

Erstellen Sie eine aufgerufene Methode readButton:

boolean readButton (int pin) // Tasten prüfen und entprellen, wenn (digitalRead (pin) == HIGH) delay (10); if (digitalRead (pin) == HIGH) return true;   falsch zurückgeben; 

Dies nimmt eine Nadel und prüft, ob sie gedrückt wurde oder nicht. Es kehrt einfach zurück WAHR oder FALSCH. Es enthält auch einige Software-Entprellung - Eine einfache Verzögerung und ein erneutes Überprüfen des Schalters stellen sicher, dass die Taste wirklich gedrückt wurde.

Jetzt wird eine weitere for-Schleife aufgerufen Leere Schleife ():

void loop () // füge deinen Hauptcode hier ein, um ihn wiederholt auszuführen: for (int i = 2; i < 11; ++i)  // check buttons if(readButton(i))  doAction(i);   

Dies gilt wiederum für jedes Element im Array und prüft, ob es gedrückt wurde. Es tut dies, indem man das nennt readButton Methode, die Sie zuvor erstellt haben. Wenn eine Taste gedrückt wurde, übergibt sie diese PIN-Nummer an eine andere aufgerufene Methode doAction:

void doAction (int pin) // Aufgaben ausführen switch (pin) Fall 2: Keyboard.println ("drive.google.com"); brechen; Fall 3: Keyboard.println ("makeuseof.com"); brechen; Fall 4: // CMD + T (neue Registerkarte, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ('t'); Verzögerung (100); Keyboard.releaseAll (); brechen; Fall 5: // deine Aufgabe hier brechen; Fall 6: // deine Aufgabe hier brechen; Fall 7: // deine Aufgabe hier brechen; Fall 8: // deine Aufgabe hier brechen; Fall 9: // deine Aufgabe hier brechen; 

Dies überprüft die PIN-Nummer mit einem Schalter Aussage. Anweisungen wechseln (manchmal aufgerufen) Schaltergehäuse) sind ähnlich einem ob Aussage, sie sind jedoch nützlich, um zu überprüfen, dass eine Sache (in diesem Fall die PIN-Nummer) einem von mehreren verschiedenen Ergebnissen entspricht. Sie sind wesentlich schneller zu berechnen.

Die Hauptkomponenten befinden sich in dieser switch-Anweisung. Keyboard.println schreibt Text auf den Computer, als ob Sie jeden Schlüssel physisch eingeben hätten. Keyboard.press drückt und hält eine Taste. Vergiss nicht, sie mit freizugeben Keyboard.releaseAll nach kurzer zeit!

Hier ist der vollständige Code:

Int-Tasten [] = 2, 3, 4, 5, 6, 7, 8, 9, 10; void setup () // füge deinen Setup-Code hier ein, um ihn einmal auszuführen: Keyboard.begin (); // Setup-Tastatur für (int i = 2; i < 11; ++i)  // initilize pins pinMode(i, INPUT);   void loop()  // put your main code here, to run repeatedly: for (int i = 2; i < 11; ++i)  // check buttons if(readButton(i))  doAction(i);    boolean readButton(int pin)  // check and debounce buttons if (digitalRead(pin) == HIGH)  delay(10); if (digitalRead(pin) == HIGH)  return true;   return false;  void doAction(int pin)  // perform tasks switch (pin)  case 2: Keyboard.println("drive.google.com"); break; case 3: Keyboard.println("makeuseof.com"); break; case 4: // CMD + T (new tab, Chrome) Keyboard.press(KEY_LEFT_GUI); Keyboard.press('t'); delay(100); Keyboard.releaseAll(); break; case 5: // your task here break; case 6: // your task here break; case 7: // your task here break; case 8: // your task here break; case 9: // your task here break;  

Neben den Ziffern- und Buchstabentasten kann das Arduino die meisten der aufgerufenen Sondertasten drücken Tastaturmodifizierer. Dies ist besonders nützlich, wenn Sie Tastenkombinationen drücken. Die Arduino-Website hat eine hilfreiche Liste.

Jetzt müssen Sie nur noch Verknüpfungen erstellen. Sie können dies vorhandenen Verknüpfungen zuordnen, z Alt + F4 (Programm unter Windows schließen) oder Cmd + Q (Programm macOS beenden). Lesen Sie alternativ auch unsere ultimative Kurzanleitung zu Tastenkombinationen. Windows-Tastenkombinationen 101: Die ultimative Anleitung Windows-Tastenkombinationen 101: Die ultimative Anleitung Tastenkombinationen für Tastaturen können Ihnen Stunden ersparen. Beherrschen Sie die universellen Windows-Tastenkombinationen, Tastatureingaben für bestimmte Programme und einige weitere Tipps, um Ihre Arbeit zu beschleunigen. Weitere Informationen zum Erstellen von Windows-Verknüpfungen Erstellen von Windows-Desktop-Verknüpfungen auf einfache Art und Weise Erstellen von Windows-Desktop-Verknüpfungen mit Easy Way Mit intelligenten Desktop-Verknüpfungen können Sie das sinnlose Durchsuchen von Menüs und Ordnern einsparen. Wir zeigen Ihnen schnelle und einfache Wege, um sie zu erstellen. Weitere Informationen und alle Chromebook-Verknüpfungen Hier finden Sie alle Chromebook-Verknüpfungen, die Sie jemals brauchen werden Hier ist jede Chromebook-Verknüpfungen, die Sie jemals benötigen Suchen Sie nach einer Master-Liste mit Tastenkombinationen für Ihr Chromebook? Hier ist jede Tastenkombination, die Sie jemals für Chrome OS benötigen! Lesen Sie mehr, um Ihre eigenen Verknüpfungen zu erstellen.

Haben Sie eine eigene Shortcut-Box erstellt? Lassen Sie mich in den Kommentaren wissen, ich würde gerne Bilder sehen!

Erfahren Sie mehr über: Arduino, Tastatur, Tastenkombinationen.