Reklama

Skromne Arduino potrafi wiele rzeczy, ale czy wiesz, że może emulować klawiaturę USB? Za pomocą tego prostego obwodu możesz połączyć trudne do zapamiętania długie skróty klawiaturowe w jeden niestandardowy klawisz skrótu. Oto wynik końcowy:

Nigdy wcześniej nie korzystałeś z Arduino? Sprawdź nasze Przewodnik wprowadzający Pierwsze kroki z Arduino: przewodnik dla początkującychArduino to platforma prototypowania elektroniki typu open source oparta na elastycznym, łatwym w użyciu sprzęcie i oprogramowaniu. Jest przeznaczony dla artystów, projektantów, hobbystów i wszystkich zainteresowanych tworzeniem interaktywnych obiektów lub środowisk. Czytaj więcej pierwszy.

Czego potrzebujesz

Części skrótu Arduino
Oto, czego potrzebujesz, aby ten projekt:

  • 1 x Arduino Pro Micro.
  • Chwilowe przyciski lub przyciski klawiatury.
  • Rezystory 10 kiloomów.
  • Różne przewody przyłączeniowe.
  • Rezystory 1 x 220 omów.
  • 1 x dioda LED 5 mm (0,197 cala).
  • 1 x uchwyt LED 5 mm.

Będziesz potrzebował bardzo konkretnego Arduino dla tego projektu. Używam

Pro Micro, ponieważ są tak małe i tanie, potrzebujesz Arduino z wbudowanym portem szeregowym USB w procesorze (Atmega32u4). Możliwe jest zbudowanie tego projektu z innymi Arduinos, takimi jak UNO lub Nano, jednak wymaga to dużo ciężkiej pracy, aby przeformułować bios i majstrować, aby zacząć działać. Klony innych modeli Arduino zwykle nie działają wcale, ale klon Pro Micro również jest w porządku.

OSOYOO Pro Micro ATmega32U4 5V / 16MHz Płytka modułu z 2-rzędowym gniazdem dla arduino Leonardo Wymień ATmega328 Pro MiniOSOYOO Pro Micro ATmega32U4 5V / 16MHz Płytka modułu z 2-rzędowym gniazdem dla arduino Leonardo Wymień ATmega328 Pro Mini Kup teraz na Amazon $10.99

Będziesz potrzebował jednego chwilowego przycisku, jednego rezystora 10 kiloomów i odpowiedniego przewodu do podłączenia każdego przycisku, którego chcesz użyć. Mimo to używam mechanicznych przełączników klawiatury Cherry MX do rzeczywistych przycisków skrótów każdy przełącznik zadziała, pod warunkiem, że jest chwilowy i nie zatrzaskuje się.

Możesz potrzebować kilku innych przedmiotów, w zależności od tego, jak to zbudujesz. Jeśli chcesz go prototypować, będziesz potrzebować płyta lutownicza bez lutu. Warto wydać pieniądze na dobrą - czasami mogą być bardzo zawodne. Jeśli chcesz to zapakować, będziesz chciał kupić listwę.

Plan kompilacji

Oto jak to będzie działać. Arduino zostanie zaprogramowane tak, aby działało jak klawiatura USB - jeśli chodzi o komputer, to tak. Kilka przycisków podłączonych do Arduino wyśle ​​kluczowe polecenia do twojego komputera. Naciśniesz tylko jeden przycisk, ale komputer będzie myślał, że nacisnąłeś Alt > F4, na przykład.

Wybór przełącznika

Arduino Cherry MX

Istnieje kilka odmian przełączników serii MX. Ta strona internetowa stanowi doskonałe wprowadzenie, jednak zasadniczo sprowadzają się do hałasu i ciśnienia. Niektóre modele wymagają większej siły do ​​naciśnięcia, a niektóre modele wydają dźwięk mechanicznego „kliknięcia” po naciśnięciu. Użyłem Cherry MX Browns, które nie wydają hałasu po naciśnięciu. Wszystkie mają te same wymiary, więc bez obaw wybierz dowolny model, który Ci się podoba (lub wymieszaj i dopasuj).

Oczywiście musisz też kupić kilka kluczy, i jest to świat niestandardowe projekty tam do wyboru - kupiliśmy od KeyboardCo w Wielkiej Brytanii

Walizka

Wydrukowałem tę skrzynkę w 3D i możesz ją pobrać .STL pliki z Thingiverse. Nie martw się, jeśli nie posiadasz drukarki 3D, nadal możesz ją zbudować. Wiele stron internetowych oferuje usługi drukowania 3D, takie jak Huby 3D lub Shapeways. Alternatywnie, jest to bardzo prosty przypadek, możesz zrobić własny z plastiku, pleksi, drewna, a nawet tektury. Jeśli chcesz być naprawdę oszczędny, Cherry MX sprzedaje tester przełączników / próbnik włączony Amazonka (UK). Będziesz potrzebował 4 śrub M5 x 35 mm i 4 nakrętek M5. Możesz oczywiście zastąpić je odpowiednią odpowiednią alternatywą.

Klawiatura Max Keyboard, Cherry MX Switch, Tester Kit (9 przełączników Pro Sampler Tester Kit)Klawiatura Max Keyboard, Cherry MX Switch, Tester Kit (9 przełączników Pro Sampler Tester Kit) Kup teraz na Amazon $14.99

Jeśli tworzysz własną skrzynkę, musisz wiedzieć jeden ważny szczegół: przełączniki Cherry MX można wpasować w otwory montażowe. Wymagają kwadratowego otworu montażowego 14 x 14 mm (0,551 cala), przy czym płyta nie jest grubsza niż 1,5 mm (0,059 cala). Odejdź zbyt daleko od tych wymiarów, a twoje przełączniki mogą nie być poprawnie zamontowane.

Skrót Case
Drukowana obudowa 3D składa się z dwóch części: górnej i dolnej. Wciśnij przełączniki Cherry MX w kwadratowe otwory:

Skrót Mocowanie Cherry MX

Upewnij się, że zamontujesz przełączniki we właściwy sposób. Na górze znajdują się słowa „CHERRY”, a na dole nieco wycięcie. Włóż 3mm LED do tego małego gniazda:

Skrót Cherry MX LED

Może się okazać, że diody LED wyglądają najlepiej montowane „do góry nogami”. Tak było w przypadku klawiszy, których użyłem, i nie ma to żadnego wpływu na przełączniki.

Powinieneś teraz mieć dziewięć przełączników z 9 diodami LED. Żadnej z tych części nie trzeba przyklejać. Lut będzie trzymał diody LED, a tarcie utrzyma przełączniki.

Skrót Cherry MX Wszystko

Następnie wkręć uchwyt LED (pozostaw LED na razie usuniętą). Montaż obudowy zakończy się później, gdy obwód zostanie zbudowany.

Obwód

Ten obwód jest zbudowany na listwie rozprężnej. Jest to doskonałe rozwiązanie do budowy obwodów półstałych, bez kosztów płytki drukowanej (PCB). Jest to po prostu kawałek włókna szklanego z miedzianymi gąsienicami biegnącymi równolegle w jednym kierunku. Te ścieżki można przylutować, a także wyciąć. Cięcie ścieżki można wykonać za pomocą specjalnego narzędzia lub małego wiertła.

Nie jesteś zbyt pewny lutowania? Spójrz na te proste projekty Naucz się lutować, korzystając z tych prostych wskazówek i projektówCzy jesteś trochę onieśmielony myślą o gorącym żelazie i stopionym metalu? Jeśli chcesz zacząć pracę z elektroniką, musisz nauczyć się lutować. Pozwól nam pomóc. Czytaj więcej pierwszy.

Oto układ listwy rozprężnej (z wyłączeniem końcowych odprowadzeń):

Arduino Shortcut Stripboard

Upewnij się, że wycinasz ślady pod rezystorami i Arduino. Ponieważ odczyt obwodu listwy może być bardzo trudny, oto wersja płytki:

Arduino Shortcut Breadboard

Ścisłe dopasowanie polega na ściśnięciu wszystkich elementów na tak małej przestrzeni. Wytnij rogi listwy w następujący sposób:

Skrót Stripboard

Powinno to dobrze pasować do dolnej części obudowy:

Skrót Stripboard w pudełku

Upewnij się, że ścieżki biegną pionowo.

Podłącz anodę (długa noga, pozytywna) diody LED do rezystora 200 omów, a następnie do +5 V. Podłącz katodę (krótka noga, negatywna) do ziemi. Przykryj nogi koszulką termokurczliwą, a następnie wciśnij do uchwytu LED. Nie ma potrzeby stosowania żadnego kleju, jednak oprawka LED może nie pasować wciskalnie, więc może być konieczne dostosowanie tych instrukcji.

Dioda LED stanu skrótu

Zamiast tego możesz użyć dwukolorowej diody LED - pozwoli to skonfigurować dwa lub więcej banków przełączników, z różnymi kolorami diod LED statusu dla każdego banku.

Czas przylutować wszystkie diody LED klawiszy. Są one używane wyłącznie do rozjaśnienia klawiszy, więc możesz je pominąć, jeśli chcesz, i nie muszą być podłączone do cyfrowego pinu, tylko zasilanie. Połącz wszystkie anody razem i wszystkie katody razem. Ucz się na moim błędzie - dużo łatwiej jest to zrobić przed podłączeniem przełączników! Podłącz anody do +5 V poprzez rezystor 220 omów, a katody do uziemienia. Te diody LED są połączone równolegle. Oto obwód tylko dla tych diod LED:

Obwód diod LED przycisku skrótu

Użyj małego kawałka rurki termokurczliwej, aby zakryć połączenie między diodami LED i Arduino:

Skrót Heatshrink LED

Włącz Arduino, aby przetestować wszystkie diody LED. Nie musisz przesyłać żadnego kodu. Jeśli jakieś diody LED nie działają, idź i sprawdź dwa razy okablowanie.

Test diod LED skrótu

Teraz podłącz przełączniki. Muszą one być podłączone przez rezystor 10k, w przeciwnym razie Arduino umrze. To się nazywa martwe zwarcie - +5 V trafia bezpośrednio w ziemię, a wszystko, co pozostanie z twojego Arduino, będzie kłębem dymu (zaufaj mi, już go zabiłem, więc nie musisz). Oto obwód dla jednego przełącznika:

Obwód skrótu Arduino

Ten obwód jest taki sam dla wszystkich dziewięciu przełączników. Podłącz przełączniki do pinów cyfrowych od dwóch do dziesięciu, każdy z własnym rezystorem 10K do masy. Ostrożnie lutuj przełączniki Cherry MX, mogą być trochę delikatne, miałem kilka pęknięć na sobie. Możesz przylutować je bezpośrednio do niektórych listew rozprężnych, jednak odprowadzenia końcowe są nadal odpowiednie.

To wszystko na okablowanie. Możesz chcieć zamontować żeńskie gniazdo USB typu B, jednak małe szpilki na nich często mogą być dość trudne do lutowania. Jeśli nie chcesz tego robić, nie martw się. Złącze Micro USB w Arduino idealnie wpasowuje się w otwór w obudowie. Jeśli masz wątpliwości co do różnych typów USB, upewnij się, że tak zrozumieć różnice Zapoznaj się z typami kabli USB i których z nich użyćDlaczego jest tyle różnych rodzajów kabli USB? Poznaj różnice między typami złączy USB i jak kupić najlepszy kabel. Czytaj więcej .

Na koniec sprawdź dwukrotnie, czy obwód jest poprawny. Krótki może łatwo zniszczyć Arduino i może być łatwo zrobić przy użyciu listwy.

Kod

Teraz sprawdź, czy obwód jest poprawny. Przed kontynuowaniem warto to zrobić, aby można było rozwiązać wszelkie problemy, póki to możliwe. Prześlij ten kod testowy (nie zapomnij wybrać właściwej płyty i portu z Przybory > Tablica i Przybory > Port menu):

const int buttons [] = {2,3,4,5,6,7,8,9,10}; // tablica wszystkich pinów przycisków void setup () {// wstaw tutaj swój kod instalacyjny, aby uruchomić raz: Serial.begin (9600); pinMode (2, WEJŚCIE); pinMode (3, WEJŚCIE); pinMode (4, WEJŚCIE); pinMode (5, WEJŚCIE); pinMode (6, WEJŚCIE); pinMode (7, WEJŚCIE); pinMode (8, WEJŚCIE); pinMode (9, WEJŚCIE); pinMode (10, WEJŚCIE); } void loop () {// umieść tutaj swój główny kod, aby uruchamiał się wielokrotnie: for (int i = 2; i <11; ++ i) {if (digitalRead (i) == HIGH) {// odrzucenie oprogramowania poprawia opóźnienie dokładności (10); if (digitalRead (i) == HIGH) {// sprawdź przełączniki Serial.print („input”); Serial.println (i); opóźnienie (250); } } } }

Konieczna może być zmiana pinów, jeśli zmodyfikowano obwód.

Po przesłaniu otwórz monitor szeregowy (w prawym górnym rogu > Monitor szeregowy). Naciskaj kolejno każdy przycisk. Powinien zostać wyświetlony monitor szeregowy pokazujący numer naciśniętego przycisku. Podobnie jak w przypadku diody LED, jeśli komputer narzeka na zbyt duże natężenie prądu lub diody LED gasną po naciśnięciu przycisku, natychmiast odłącz urządzenie! Gdzieś w obwodzie jest zwarcie, sprawdź dwukrotnie, czy obwód jest prawidłowy i czy nie ma zwarć między połączeniami.

Jeśli wszystko działa, idź dalej i włóż obwód do skrzynki. Możesz użyć odrobiny kleju, aby utrzymać obwód w miejscu (chociaż druty trzymały moje w porządku). Przykręć również pokrywę.

Aby Arduino wyglądało jak klawiatura, jest bardzo proste. Jeśli używasz Nano lub UNO, zamierzasz przeprogramować swoje Arduino za pomocą Aktualizacja oprogramowania układowego urządzenia (DFU). Jest to zwykle używane do flashowania nowego oprogramowania na Arduino. Użyjesz go do flashowania Arduino za pomocą nowego oprogramowania, które sprawi, że będzie działać jak klawiatura. Nie zostanie to tutaj omówione, ponieważ jest to dość złożone zadanie. The Strona Arduino ma do tego dobry tutorial.

Arduino Pro Micro sprawia, że ​​ten krok jest bardzo łatwy. Logika wymagana do emulacji klawiatury USB jest już wbudowana w procesor, więc jest tak prosta, jak napisanie kodu!

Najpierw skonfiguruj klucze:

int klucze [] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

Jest to tablica zawierająca wszystkie piny, do których podłączone są przyciski. Jeśli użyłeś więcej lub mniej przycisków lub różnych pinów, zmień wartości tutaj.

Tablica jest zbiorem rzeczy o podobnych poglądach. Komputery mogą zoptymalizować kod, aby uzyskać do niego szybki dostęp, i przyspieszają proces pisania kodu.

Teraz zainicjuj wszystkie piny jako dane wejściowe:

void setup () {// wstaw tutaj swój kod instalacyjny, aby raz uruchomić: Keyboard.begin (); // konfiguracja klawiatury dla (int i = 2; i <11; ++ i) {// inicjowanie pinów pinMode (i, WEJŚCIE); } }

To mówi Arduino, że wszystkie piny w tablicy są wejściami. Do tego służy pętla, a nie pisanie pinMode (2, WEJŚCIE) dziewięć razy, musisz to napisać tylko raz. To także wzywa Keyboard.begin. To ustawia funkcję wbudowaną w bibliotekę Arduino, zaprojektowaną specjalnie do emulacji klawiatury.

Utwórz metodę o nazwie readButton:

boolean readButton (int pin) {// przyciski sprawdzania i debounce if (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} return false; }

Pobiera pin i sprawdza, czy został naciśnięty, czy nie. Po prostu wraca PRAWDZIWE lub FAŁSZYWY. Zawiera także trochę ogłaszanie oprogramowania - proste opóźnienie, a następnie ponowne sprawdzenie przełącznika zapewnia, że ​​przycisk został naprawdę naciśnięty.

Teraz kolejna pętla for jest nazywana wewnątrz void loop ():

void loop () {// umieść tutaj swój główny kod, aby uruchamiał się wielokrotnie: for (int i = 2; i <11; ++ i) {// sprawdź przyciski if (readButton (i)) {doAction (i); } } }

Ponownie, przechodzi to przez każdy element w tablicy i sprawdza, czy został naciśnięty. Robi to poprzez tzw readButton metoda utworzona wcześniej. Naciśnięcie przycisku powoduje przekazanie numeru PIN do innej metody o nazwie doAction:

void doAction (int pin) {// wykonaj zadania przełącznik (pin) {case 2: Keyboard.println („drive.google.com”); przerwa; przypadek 3: Keyboard.println („makeuseof.com”); przerwa; przypadek 4: // CMD + T (nowa karta, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press („t”); opóźnienie (100); Keyboard.releaseAll (); przerwa; przypadek 5: // twoje zadanie tutaj się psuje; przypadek 6: // twoje zadanie tutaj się psuje; przypadek 7: // twoje zadanie tutaj się psuje; przypadek 8: // twoje zadanie tutaj się psuje; przypadek 9: // twoje zadanie tutaj się psuje; } }

To sprawdza numer PIN za pomocą przełącznik komunikat. Instrukcje przełączające (czasami nazywane Sprawa przełącznik) są podobne do gdyby instrukcja, jednak są one przydatne do sprawdzania, czy jedna rzecz (w tym przypadku numer pin) jest równa jednemu z kilku różnych wyników. Zasadniczo są one znacznie szybsze do obliczenia.

Główne elementy znajdują się w tej instrukcji switch. Keyboard.println zapisuje tekst na komputerze, jakbyś fizycznie wpisał każdy klawisz. Keyboard.press naciska i przytrzymuje jeden klawisz. Nie zapomnij zwolnić ich za pomocą Keyboard.releaseAll po krótkim opóźnieniu!

Oto pełny kod:

int klucze [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// wstaw tutaj swój kod instalacyjny, aby raz uruchomić: Keyboard.begin (); // konfiguracja klawiatury dla (int i = 2; i <11; ++ i) {// inicjowanie pinów pinMode (i, WEJŚCIE); } } void loop () {// umieść tutaj swój główny kod, aby uruchamiał się wielokrotnie: for (int i = 2; i <11; ++ i) {// sprawdź przyciski if (readButton (i)) {doAction (i); } } } boolean readButton (int pin) {// przyciski sprawdzania i debounce if (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} return false; } void doAction (int pin) {// wykonaj zadania switch (pin) {case 2: Keyboard.println („drive.google.com”); przerwa; przypadek 3: Keyboard.println („makeuseof.com”); przerwa; przypadek 4: // CMD + T (nowa karta, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press („t”); opóźnienie (100); Keyboard.releaseAll (); przerwa; przypadek 5: // twoje zadanie tutaj się psuje; przypadek 6: // twoje zadanie tutaj się psuje; przypadek 7: // twoje zadanie tutaj się psuje; przypadek 8: // twoje zadanie tutaj się psuje; przypadek 9: // twoje zadanie tutaj się psuje; } }

Oprócz wszystkich klawiszy numerycznych i literowych Arduino może naciskać większość klawiszy specjalnych o nazwie Modyfikatory klawiatury. Są one szczególnie przydatne do naciskania skrótów klawiaturowych. Witryna Arduino ma pomocna lista.

Teraz pozostało tylko stworzyć kilka skrótów. Możesz zamapować to na istniejące skróty, takie jak Alt + F4 (zamknij program w systemie Windows) lub Cmd + Q (zamknij program macOS). Możesz też przeczytać nasz najlepszy przewodnik po skrótach klawiszowych Skróty klawiaturowe Windows 101: The Ultimate GuideSkróty klawiaturowe pozwalają zaoszczędzić wiele godzin. Opanuj uniwersalne skróty klawiaturowe systemu Windows, sztuczki klawiaturowe dla określonych programów i kilka innych wskazówek, aby przyspieszyć pracę. Czytaj więcej , jak tworzyć skróty do systemu Windows Jak w prosty sposób tworzyć skróty pulpitu systemu WindowsInteligentne skróty na pulpicie pozwalają zaoszczędzić bezmyślnego przeglądania menu i folderów. Pokazujemy szybkie i łatwe sposoby ich tworzenia. Czytaj więcej , i każdy skrót do Chromebooka Każdy skrót klawiaturowy Chromebooka, którego będziesz potrzebowaćOpanuj system operacyjny Chrome dzięki tej liście wszystkich ważnych skrótów klawiaturowych Chromebooków, których będziesz potrzebować. Czytaj więcej zacząć tworzyć własne skróty.

Czy utworzyłeś własne pole skrótów? Daj mi znać w komentarzach, chciałbym zobaczyć kilka zdjęć!

Joe jest absolwentem informatyki na University of Lincoln w Wielkiej Brytanii. Jest profesjonalnym programistą, a kiedy nie lata latającymi dronami ani nie pisze muzyki, często można go znaleźć przy robieniu zdjęć lub tworzeniu filmów.