reklama

Pokorný Arduino dokáže dělat spoustu věcí, ale věděli jste, že dokáže napodobit klávesnici USB? Můžete spojit ty obtížně zapamatovatelné dlouhé klávesové zkratky do jednoho uživatelského zkratkového tlačítka s tímto jednoduchým obvodem. Zde je konečný výsledek:

Nikdy jste Arduino nepoužívali? Podívejte se na naše úvodní průvodce Začínáme s Arduino: Příručka pro začátečníkyArduino je platforma s otevřeným zdrojovým kódem elektroniky založená na flexibilním, snadno použitelném hardwaru a softwaru. Je určen pro umělce, designéry, fandy a kohokoli, kdo má zájem o vytváření interaktivních objektů nebo prostředí. Přečtěte si více za prvé.

Co potřebuješ

Díly zkratky Arduino
K provedení tohoto projektu potřebujete následující:

  • 1 x Arduino Pro Micro.
  • Okamžitá tlačítka nebo tlačítka klávesnice.
  • 10K ohm rezistory.
  • Různé připojovací dráty.
  • 1 x 220 ohm rezistory.
  • 1 x 5 mm (0,197 palce) LED.
  • 1 x 5 mm LED držák.

Pro tento projekt budete potřebovat velmi specifický Arduino. Používám Pro Micro, protože jsou tak malé a levné, potřebujete Arduino, které má v procesoru vestavěný USB-Serial (Atmega32u4). Je možné postavit tento projekt s dalšími Arduiny, jako jsou OSN nebo Nano, ale vyžaduje hodně tvrdé práce, aby se znovu rozbili bios a hádali se, aby věci fungovaly. Klony jiných modelů Arduino obvykle vůbec nefungují, ale klon Pro Micro je také v pořádku.

Deska modulů OSOYOO Pro Micro ATmega32U4 5V / 16MHz s 2řadou kolíkovou hlavičkou pro arduino Leonardo Replace ATmega328 Pro MiniDeska modulů OSOYOO Pro Micro ATmega32U4 5V / 16MHz s 2řadou kolíkovou hlavičkou pro arduino Leonardo Replace ATmega328 Pro Mini Kup teď na Amazonu $10.99

Pro každé tlačítko, které chcete použít, budete potřebovat jedno okamžité tlačítko, jeden odpor 10K ohm a vhodný připojovací vodič. I když používám mechanické klávesové přepínače Cherry MX pro aktuální tlačítka zástupců žádný přepínač bude fungovat za předpokladu, že je dočasný a nezasahuje.

Možná budete potřebovat několik dalších položek v závislosti na tom, jak je sestavíte. Pokud to chcete prototypovat, budete potřebovat nepájecí prkénko. Stojí za to utratit peníze za dobré - někdy mohou být velmi nespolehlivé. Pokud to chcete zabalit, budete si chtít koupit nějaký stripboard.

Sestavte plán

Takto to bude fungovat. Arduino bude naprogramováno tak, aby fungovalo jako USB klávesnice - pokud jde o váš počítač. Několik tlačítek připojených k Arduinu pošle klíčové příkazy do vašeho počítače. Stisknete pouze jedno tlačítko, ale váš počítač si bude myslet, že jste stiskli Alt > F4, například.

Výběr přepínače

Arduino Cherry MX

Existuje několik variant přepínačů řady MX. Tento web poskytuje vynikající úvod, ale v zásadě se snižuje hluk a tlak. Některé modely vyžadují více síly na stisknutí a některé modely vydávají mechanický „cvak“ zvuk při stisknutí. Použil jsem Cherry MX Browns, které při stisknutí nevydávají hluk. Všechny mají stejné rozměry, takže si bez obav vyberete jakýkoli model, který se vám líbí (nebo smíchejte a porovnejte).

Budete si samozřejmě muset koupit i několik klíčových čepic a je tu svět vlastní návrhy tam si můžete vybrat - koupili jsme od KeyboardCo ve Velké Británii

Pouzdro

Tento případ mám vytištěn ve 3D a vy si můžete stáhnout .STL soubory z Thingiverse. Nebojte se, pokud nevlastníte 3D tiskárnu, můžete si ji přesto postavit. Mnoho webových stránek poskytuje služby 3D tisku, například 3D rozbočovače nebo Shapeways. Alternativně je to velmi jednoduchý případ, můžete si vytvořit svůj vlastní z plasticard, perspex, dřeva nebo dokonce kartonu. Pokud chcete být opravdu šetrní, prodejte Cherry MX sadu testerů / vzorkovačů Amazonka (Spojené království). Budete potřebovat 4 šrouby M5 x 35 mm a 4 matice M5. Můžete je samozřejmě nahradit vhodnou alternativou, kterou máte.

Max Keyboard Capcap, Cherry MX Switch, Tester Kit (9 spínačů Pro Sampler Tester Kit)Max Keyboard Capcap, Cherry MX Switch, Tester Kit (9 spínačů Pro Sampler Tester Kit) Kup teď na Amazonu $14.99

Pokud si děláte svůj vlastní případ, musíte vědět jeden důležitý detail: Přepínače Cherry MX jsou zasunuty do jejich montážních otvorů. Vyžadují 14 x 14 mm (0,551 palce) čtvercový montážní otvor, přičemž deska není tlustší než 1,5 mm (0,059 palce). Postříhejte se příliš daleko od těchto rozměrů a vaše přepínače již nemusí být správně připojeny.

Případ zkratky
3D potištěné pouzdro se skládá ze dvou částí, horní a dolní. Přepněte spínače Cherry MX do čtvercových otvorů:

Zkratka Cherry MX Mount

Ujistěte se, že jste spínače namontovali správným způsobem. V horní části jsou slova „CHERRY“ a spodní část má malou zářez. Vložte 3 mm LED do tohoto malého slotu:

Zkratka Cherry MX LED

Možná zjistíte, že LED diody vypadají nejlépe „vzhůru nohama“. To byl případ klávesových skříní, které jsem použil, a na spínače to nemá žádný dopad.

Nyní byste měli mít devět přepínačů s 9 LED. Není nutné lepit žádnou z těchto částí dovnitř. Pájka bude držet LED a tření bude držet spínače.

Zkratka Cherry MX All

Poté zašroubujte držák LED (nechte LED prozatím vyjmout). Po dokončení obvodu dokončíte montáž případu později.

Okruh

Tento obvod je postaven na stripboardu. To je vynikající pro stavbu polotrvalých obvodů bez nákladů na desku plošných spojů (PCB). Je to prostě kus laminátu s měděnými stopami probíhajícími paralelně v jednom směru. Tyto stopy mohou být pájeny, stejně jako řezány. Řezání stopy lze provést speciálním nástrojem nebo malým vrtákem.

Nejste si jistí pájením? Podívejte se na tyto jednoduché projekty Naučte se pájet pomocí těchto jednoduchých tipů a projektůJste trochu zastrašeni myšlenkou na horké železo a roztavený kov? Pokud chcete začít pracovat s elektronikou, musíte se naučit pájet. Pomozte nám. Přečtěte si více za prvé.

Zde je rozložení stripboardu (bez koncových přívodů):

Arduino Shortcut Stripboard

Ujistěte se, že jste podřízli stopy pod odpory a Arduino. Vzhledem k tomu, že čtení obvodu obvodů kartonu může být velmi obtížné, je zde varianta prkénko:

Pryskyřičná deska Arduino

Těsně přiléhá ke stlačení všech součástí do tak malého prostoru. Odřežte rohy vaší lišty takto:

Klávesová zkratka

To by mělo úhledně zapadnout do spodní části pouzdra:

Zástupce Stripboard v krabici

Ujistěte se, že stopy běží svisle.

Připojte anodu (dlouhá noha, pozitivní) LED na odpor 200 ohmů a poté na +5 V. Připojte Cathode (krátká noha, negativní) do země. Nohy zakryjte smršťovací bužírkou a poté zatlačte do držáku LED. Není potřeba žádné lepidlo, ale váš držák LED nemusí být push-fit, takže možná budete muset upravit tyto pokyny.

Zkratka LED stavu

Možná budete chtít místo toho použít dvoubarevnou LED - to vám umožní nastavit dvě nebo více bank přepínačů, s jinou barevnou stavovou LED pro každou banku.

Nyní je čas pájet všechny LED diody pro klíčenky. Používají se výhradně k tomu, aby klíče svítily, takže je můžete přeskočit, pokud chcete, a nemusí být připojeny k digitálnímu kolíku, pouze napájení. Spojte všechny anody dohromady a všechny katody dohromady. Poučte se z mé chyby - je mnohem snazší to udělat před zapojením spínačů! Připojte anody k +5 V prostřednictvím odporu 220 ohmů a katody k uzemnění. Tyto LED diody jsou zapojeny paralelně. Zde je okruh jen pro tyto LED:

Okno LED tlačítka zkratky

Spojení mezi LED diodami a Arduino zakryjte malým kouskem smršťovací hadičky:

Zkratka LED chladiče

Zapněte Arduino a vyzkoušejte všechny LED diody. Nemusíte nahrávat žádný kód. Pokud nefungují žádné LED diody, jděte a znovu zkontrolujte zapojení.

Zkratka LED testování

Nyní zapojte spínače. Musí být připojeny přes odpor 10 k, jinak Arduino zemře. Tomu se říká mrtvá zkratka - +5 V jde přímo do země a všechno, co zbývá z vašeho Arduina, bude obláček kouře (věřte mi, zabil jsem ho už, takže nemusíte). Zde je okruh pro jeden přepínač:

Obvod zkratky Arduino

Tento obvod je stejný pro všech devět přepínačů. Připojte přepínače k ​​digitálním pinům dva až deset, každý s vlastním odporem 10 K k zemi. Buďte opatrní pájení spínačů Cherry MX, mohou být trochu křehké, měl jsem na mě několik kolíků. Možná je budete chtít pájet přímo na několik lepenkových desek, přesto jsou stále vhodné koncové vodiče.

To je pro zapojení. Možná budete chtít připojit zásuvku USB typu B, ale malé kolíky na nich mohou být často obtížně připájitelné. Pokud si to nepřejete, nebojte se. Konektor Micro USB na Arduino úhledně zapadá do otvoru v šasi. Pokud jste trochu zmatení ohledně různých typů USB, nezapomeňte pochopit rozdíly Pochopení typů kabelů USB a které použítProč existuje tolik různých typů kabelů USB? Naučte se rozdíly mezi typy konektorů USB a jak zakoupit nejlepší kabel. Přečtěte si více .

Nakonec znovu zkontrolujte správnost obvodu. Krátký může snadno zničit Arduino, a to může být snadné pomocí stripboard.

Kód

Nyní vyzkoušejte, zda je obvod správný. Je dobré to udělat dříve, než budete pokračovat, takže nyní můžete vyřešit všechny problémy. Nahrajte tento testovací kód (Nezapomeňte vybrat správnou kartu a port z Nástroje > Prkno a Nástroje > Přístav nabídky):

tlačítka const int [] = {2,3,4,5,6,7,8,9,10}; // pole všech tlačítek pinů void setup () {// sem vložte svůj instalační kód, abyste jej mohli spustit jednou: 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 () {// sem vložte svůj hlavní kód, aby se opakovalo: for (int i = 2; i <11; ++ i) {if (digitalRead (i) == HIGH) {// odskok softwaru zvyšuje zpoždění přesnosti (10); if (digitalRead (i) == HIGH) {// zaškrtněte přepínače Serial.print ("input"); Serial.println (i); zpoždění (250); } } } }

Možná budete muset změnit kolíky, pokud jste upravili obvod.

Po nahrání otevřete sériový monitor (vpravo nahoře > Sériový monitor). Postupně stiskněte každé tlačítko. Měli byste vidět, že sériový monitor ukazuje číslo tlačítka, které jste stiskli. Stejně jako u kontrolky LED, pokud si počítač stěžuje na příliš velký proud nebo pokud kontrolky zhasnou po stisknutí tlačítka, okamžitě se odpojte! Někde v obvodu máte zkrat, dvakrát zkontrolujte, zda je obvod správný a mezi spoji nejsou zkraty.

Pokud vše funguje, pokračujte a zapojte obvod do krabice. Možná budete chtít použít tampón lepidla k udržení obvodu na místě (i když dráty držely důl v pořádku). Nasaďte také víko.

Aby Arduino vypadalo jako klávesnice, je velmi jednoduché. Pokud používáte Nano nebo UNO, chystáte se přepsat své Arduino pomocí Aktualizace firmwaru zařízení (DFU). To se obvykle používá k převedení nového firmwaru na Arduino. Chystáte se použít pro flash Arduino s novým firmwarem, který umožní, aby to fungovalo jako klávesnice. To se zde nebude zabývat, protože je to docela složitý úkol. Web Arduino má k tomu dobrý návod.

Arduino Pro Micro tento krok velmi usnadňuje. Logika potřebná k emulaci klávesnice USB je již zabudována v procesoru, takže je stejně jednoduchá jako psaní nějakého kódu!

Nejprve nastavte klíče:

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

Toto je pole obsahující všechny piny, ke kterým jsou tlačítka připojena. Pokud jste použili více či méně tlačítek nebo použili různé kolíky, změňte hodnoty zde.

Pole je shromážděno stejně smýšlejících věcí. Počítače mohou optimalizovat váš kód tak, aby k nim rychle přistupovaly, a urychlují proces psaní kódu.

Nyní inicializujte všechny kolíky jako vstupy:

void setup () {// sem vložte svůj instalační kód a spusťte jej jednou: Keyboard.begin (); // nastavení klávesnice pro (int i = 2; i <11; ++ i) {// inicializovat piny pinMode (i, INPUT); } }

Toto říká Arduino, že všechny kolíky v poli jsou vstupy. K tomu se používá smyčka, spíše než psaní pinMode (2, INPUT) devětkrát, musíte to napsat jen jednou. To také volá Keyboard.begin. Tím se nastaví funkce zabudovaná do knihovny Arduino, která je navržena speciálně pro emulaci klávesnice.

Vytvořte metodu s názvem readButton:

boolean readButton (int pin) {// tlačítka pro kontrolu a odmítnutí, pokud (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {návrat true; }} vrátit false; }

Tím se provede pin a zkontroluje se, zda byl stisknut nebo ne. Jednoduše se vrací SKUTEČNÝ nebo NEPRAVDIVÉ. Také obsahuje některé odčerpání softwaru - jednoduché zpoždění a opětovná kontrola spínače zajistí, že tlačítko bylo skutečně stisknuto.

Nyní se nazývá další smyčka uvnitř prázdná smyčka ():

void loop () {// sem vložte svůj hlavní kód, aby se opakovalo: for (int i = 2; i <11; ++ i) {// zaškrtávací tlačítka if (readButton (i)) {doAction (i); } } }

Znovu to přesáhne každý prvek v poli a zkontroluje, zda byl stisknut. Dělá to tak, že se nazývá readButton metoda, kterou jste vytvořili dříve. Pokud bylo tlačítko stisknuto, předá toto číslo PIN jiné volané metodě doAction:

void doAction (int pin) {// přepínač provádění úkolů (pin) {případ 2: Keyboard.println ("drive.google.com"); přestávka; případ 3: Keyboard.println ("makeuseof.com"); přestávka; případ 4: // CMD + T (nová karta, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ('t'); zpoždění (100); Keyboard.releaseAll (); přestávka; případ 5: // Váš úkol se zde rozbije; případ 6: // Váš úkol se zde rozbije; případ 7: // Váš úkol se zde rozbije; případ 8: // Váš úkol se zde rozbije; případ 9: // Váš úkol se zde rozbije; } }

Tím se zkontroluje číslo kolíku pomocí a přepínač tvrzení. Příkazy přepínače (někdy nazývané pouzdro spínače) jsou podobné jako -li prohlášení, ale jsou užitečné pro kontrolu, že jedna věc (v tomto případě číslo kolíku) se rovná jednomu z několika různých výsledků. V zásadě je jejich výpočet mnohem rychlejší.

Hlavní komponenty jsou uvnitř tohoto příkazu přepínače. Keyboard.println zapíše text do počítače, jako byste fyzicky zadali každou klávesu. Keyboard.press stiskne a drží jednu klávesu. Nezapomeňte je uvolnit pomocí Keyboard.releaseAll po krátkém zpoždění!

Zde je plný kód:

klávesy int [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// sem vložte svůj instalační kód a spusťte jej jednou: Keyboard.begin (); // nastavení klávesnice pro (int i = 2; i <11; ++ i) {// inicializovat piny pinMode (i, INPUT); } } void loop () {// sem vložte svůj hlavní kód, aby se opakovalo: for (int i = 2; i <11; ++ i) {// zaškrtávací tlačítka if (readButton (i)) {doAction (i); } } } boolean readButton (int pin) {// tlačítka check and debounce if (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {návrat true; }} vrátit false; } void doAction (int pin) {// přepínač provádění úkolů (pin) {případ 2: Keyboard.println ("drive.google.com"); přestávka; případ 3: Keyboard.println ("makeuseof.com"); přestávka; případ 4: // CMD + T (nová karta, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ('t'); zpoždění (100); Keyboard.releaseAll (); přestávka; případ 5: // Váš úkol se zde rozbije; případ 6: // Váš úkol se zde rozbije; případ 7: // Váš úkol se zde rozbije; případ 8: // Váš úkol se zde rozbije; případ 9: // Váš úkol se zde rozbije; } }

Kromě všech kláves s čísly a písmeny může Arduino stisknout většinu zvaných speciálních kláves Modifikátory klávesnice. Jsou to zvláště užitečné pro stisknutí klávesových zkratek. Web Arduino má užitečný seznam.

Nyní už zbývá jen vytvořit zkratky. Dalo by se to namapovat na existující zástupce, například Alt + F4 (zavřete program ve Windows) nebo Cmd + Q (ukončete program macOS). Nebo si přečtěte naše konečný průvodce klávesovými zkratkami Klávesové zkratky Windows 101: The Ultimate GuideKlávesové zkratky vám mohou ušetřit hodiny času. Zvládněte univerzální klávesové zkratky Windows, klávesové triky pro konkrétní programy a několik dalších tipů, jak zrychlit práci. Přečtěte si více , jak vytvořit zástupce Windows Jak vytvořit zástupce na ploše systému Windows snadným způsobemKlávesové zkratky na ploše vám mohou ušetřit bezmyšlenkové prosévání v nabídkách a složkách. Ukážeme vám rychlé a snadné způsoby, jak je vytvořit. Přečtěte si více , a každá zkratka Chromebooku Každá klávesová zkratka Chromebooku, kterou budete kdy potřebovatMaster Chrome OS s tímto seznamem všech důležitých klávesových zkratek Chromebooku, které kdy budete potřebovat. Přečtěte si více začít vytvářet vlastní zkratky.

Vytvořili jste si vlastní zkratku? Dejte mi vědět v komentářích, ráda bych viděla nějaké obrázky!

Joe je absolventem informatiky na University of Lincoln ve Velké Británii. Je to profesionální softwarový vývojář, a když nelétá dronů nebo píše hudbu, často ho najde, když fotografuje nebo produkuje videa.