Reklama
Pokorný Arduino dokáže robiť veľa vecí, ale vedeli ste, že dokáže napodobniť klávesnicu USB? S týmto jednoduchým obvodom môžete kombinovať tieto ťažko zapamätateľné dlhé klávesové skratky do jedného vlastného klávesového skratky. Tu je konečný výsledok:
Nikdy ste Arduino nepoužívali? Pozrite sa na naše úvodná príručka Začíname s Arduino: Príručka pre začiatočníkovArduino je otvorená prototypová platforma elektroniky založená na flexibilnom, ľahko použiteľnom hardvéri a softvéri. Je určený pre umelcov, dizajnérov, fandov a kohokoľvek, kto má záujem vytvárať interaktívne objekty alebo prostredia. Čítaj viac najprv.
Čo potrebuješ
Na vytvorenie tohto projektu potrebujete nasledujúce položky:
- 1 x Arduino Pro Micro.
- Okamžité tlačidlá alebo tlačidlá klávesnice.
- 10K ohmové rezistory.
- Rozmanité prepojovacie vodiče.
- 1 x 220 ohmové rezistory.
- 1 x 5 mm (0,197 palca) LED.
- 1 x 5 mm držiak LED.
Pre tento projekt budete potrebovať veľmi špecifický Arduino. Používam Pro Micro, pretože sú také malé a lacné, potrebujete Arduino, ktoré má v procesore zabudovanú USB-Serial (Atmega32u4). Tento projekt je možné postaviť spolu s ďalšími Arduinos, ako sú napríklad OSN alebo Nano, vyžaduje si však veľa tvrdej práce, aby sa znovu rozbili bios a hádalo sa, aby veci fungovali. Klony iných modelov Arduino obvykle vôbec nefungujú, ale klon Pro Micro je tiež v poriadku.
Doska modulov OSOYOO Pro Micro ATmega32U4 5V / 16MHz s 2-radovou kolíkovou hlavičkou pre arduino Leonardo Replace ATmega328 Pro MiniDoska modulov OSOYOO Pro Micro ATmega32U4 5V / 16MHz s 2-radovou kolíkovou hlavičkou pre arduino Leonardo Replace ATmega328 Pro Mini Kúpte si teraz na Amazone $10.99
Pre každé tlačidlo, ktoré chcete použiť, budete potrebovať jedno okamžité tlačidlo, jeden odpor 10K ohmu a vhodný prepojovací drôt. Pre aktuálne tlačidlá skratiek však používam mechanické spínače Cherry MX akýkoľvek prepínač bude fungovať za predpokladu, že je dočasný a nezatvára sa.
Možno budete potrebovať niekoľko ďalších položiek v závislosti od toho, ako ich zostavíte. Ak ju chcete prototypovať, budete potrebovať nepájivá doska. Stojí za to minúť peniaze za dobrého - niekedy môžu byť veľmi nespoľahlivé. Ak to chcete zabaliť, budete si chcieť kúpiť nejakú lepenku.
Plán výstavby
Takto to bude fungovať. Arduino bude naprogramované tak, aby fungovalo ako klávesnica USB - pokiaľ ide o váš počítač. Niekoľko tlačidiel pripojených k Arduino pošle do počítača kľúčové príkazy. Stlačíte iba jedno tlačidlo, ale váš počítač bude myslieť, že ste stlačili alt > F4, napríklad.
Výber prepínača
Existuje niekoľko variantov prepínačov série MX. Táto webová stránka poskytuje vynikajúci úvod, avšak v podstate znižuje hluk a tlak. Niektoré modely vyžadujú na stlačenie väčšiu silu a niektoré modely po stlačení vydávajú mechanický zvuk „kliknutia“. Použil som Cherry MX Browns, ktoré pri stlačení nevydávajú hluk. Sú to všetky rovnaké rozmery, takže si bez obáv zvoľte akýkoľvek model, ktorý sa vám páči (alebo kombinujte a zhodujte).
Samozrejme budete musieť kúpiť aj niektoré kľúčové obmedzenia a existuje svet vlastné vzory z čoho vyberať - zakúpili sme od KeyboardCo v Spojenom kráľovstve
Púzdro
Tento prípad som si vytlačil v 3D a vy si ho môžete stiahnuť .stl súbory z Thingiverse. Nerobte si starosti, ak nevlastníte 3D tlačiareň, stále ju môžete vytvoriť. Mnoho webových stránok poskytuje služby 3D tlače, napríklad 3D huby alebo Shapeways. Prípadne je to veľmi jednoduchý prípad, ktorý si môžete vyrobiť z plastických kariet, plexiskla, dreva alebo dokonca z kartónu. Ak chcete byť skutočne šetrní, spoločnosť Cherry MX predá zapnutý tester / vzorkovač prepínačov Amazonka (Spojené kráľovstvo). Budete potrebovať 4 skrutky M5 x 35 mm a 4 matice M5. Môžete ich samozrejme nahradiť vhodnou alternatívou, ktorú máte.
Max klávesnica, klávesnica Cherry MX, testovacia súprava (9 prepínačov Pro Sampler Tester Kit)Max klávesnica, klávesnica Cherry MX, testovacia súprava (9 prepínačov Pro Sampler Tester Kit) Kúpte si teraz na Amazone $14.99
Ak robíte svoj vlastný prípad, musíte mať jeden dôležitý detail: Prepínače Cherry MX sú zasunuté do ich montážnych otvorov. Vyžadujú montážny otvor štvorca 14 x 14 mm (0,551 palca), pričom doska nie je hrubšia ako 1,5 mm (0,059 palca). Postrekujte príliš ďaleko od týchto rozmerov a vaše prepínače už nemusia byť správne namontované.
3D tlačené puzdro má dve časti, hornú a spodnú. Zatlačte spínače Cherry MX do štvorcových otvorov:
Uistite sa, že ste spínače namontovali správne. Horná časť obsahuje slová „CHERRY“ a spodná časť má malú zárez. Vložte 3 mm LED do tohto malého slotu:
Možno zistíte, že LED diódy vyzerajú najlepšie namontované „hore nohami“. To bol prípad klávesníc, ktoré som použil, a vôbec to nemá vplyv na prepínače.
Teraz by ste mali mať deväť prepínačov s 9 LED. Nie je potrebné lepiť žiadne z týchto častí. Spájka bude držať LED diódy a trenie držia spínače.
Potom priskrutkujte držiak LED (nechajte LED zatiaľ odstránený). Po dokončení obvodu dokončíte montáž puzdra neskôr.
Okruh
Tento obvod je postavený na doske. To je vynikajúce pre budovanie polotrvalých obvodov bez nákladov na dosku plošných spojov (PCB). Je to jednoducho kus laminátu s medenými stopami prebiehajúcimi paralelne v jednom smere. Tieto stopy je možné spájkovať, ako aj rezať. Rezanie koľaje je možné vykonať špeciálnym nástrojom alebo malým vrtákom.
Nie ste príliš istí spájkovaním? Pozri sa na tieto jednoduché projekty Naučte sa spájkovať pomocou týchto jednoduchých tipov a projektovSte trochu zastrašení myšlienkou na horúce železo a roztavený kov? Ak chcete začať pracovať s elektronikou, musíte sa naučiť spájkovať. Pomôžeme. Čítaj viac najprv.
Toto je rozloženie tabuľky (bez koncových potenciálov):
Uistite sa, že ste strihali stopy pod odpory a Arduino. Čítanie obvodu kartónu môže byť veľmi ťažké, preto je tu verzia s hrotovou doskou:
Tesne prilieha všetky komponenty do tak malého priestoru. Odrežte rohy lišty takto:
To by malo úhľadne zapadať do spodnej časti puzdra:
Uistite sa, že stopy bežia vertikálne.
Pripojte anódu (dlhá noha, pozitívna) LED na 200 ohmový rezistor a potom na +5 V. Pripojte katódu (krátka noha, negatívna) k zemi. Nohy zakryte zmršťovacím rukávom a potom zatlačte do držiaka LED. Nie je potrebné žiadne lepidlo, ale držiak LED diód nemusí byť zasunutý, preto je potrebné tieto pokyny prispôsobiť.
Môžete tu radšej použiť dvojfarebnú LED - to vám umožní nastaviť dve alebo viac bánk prepínačov s inou farebnou stavovou LED pre každú banku.
Teraz je čas na spájkovanie všetkých LED diód pre klávesnice. Používajú sa výlučne na rozsvietenie klávesov, takže ich môžete preskočiť, ak chcete, a nemusia byť pripojené k digitálnemu kolíku, iba k napájaniu. Spojte všetky anódy a všetky katódy dohromady. Poučte sa z mojej chyby - je oveľa jednoduchšie to urobiť pred zapojením spínačov! Pripojte anódy k +5 V, aj keď majú odpor 220 ohmov a katódy k uzemneniu. Tieto LED diódy sú zapojené paralelne. Tu je okruh len pre tieto LED:
Spojenie medzi diódami LED a Arduino zakryte pomocou malého kusu zmršťovacej hadičky:
Zapnite Arduino, aby ste otestovali všetky LED diódy. Nemusíte nahrávať žiadny kód. Ak nefungujú žiadne kontrolky LED, choďte a znova skontrolujte zapojenie.
Teraz zapojte spínače. Tieto musia byť pripojené cez 10 k rezistor, inak Arduino zomrie. Toto sa nazýva mŕtvy skrat - +5 V ide priamo do zeme a všetko, čo zostane na vašom Arduino, bude fúkať dymu (verte mi, zabil som ho už, takže nemusíte). Tu je obvod pre jeden prepínač:
Tento obvod je rovnaký pre všetkých deväť spínačov. Pripojte prepínače k digitálnym kolíkom dva až desať, každý s vlastným odporom 10 K k zemi. Dávajte pozor na spájkovanie spínačov Cherry MX, môžu byť trochu krehké, mal som na mne niekoľko zlomení. Možno ich budete chcieť spájkovať priamo do nejakej lepenky, ale stále sú vhodné vlečné káble.
To je pre zapojenie. Možno budete chcieť namontovať zásuvku USB typu B, ale malé kolíky na nich môžu byť často ťažko spájkované. Ak to nechcete robiť, nebojte sa. Konektor Micro USB na Arduino úhľadne zapadne do otvoru v šasi. Ak ste trochu zmätení ohľadom rôznych typov USB, nezabudnite pochopiť rozdiely Pochopte typy káblov USB a ktoré typy káblov použiťPrečo existuje toľko rôznych typov káblov USB? Naučte sa rozdiely medzi typmi konektorov USB a ako si kúpiť najlepší kábel. Čítaj viac .
Nakoniec skontrolujte správnosť obvodu. Krátka môže ľahko zničiť Arduino, a to môže byť ľahké pomocou stripboard.
Kód
Teraz otestujte, či je obvod správny. Je dobré to urobiť skôr, ako budete pokračovať, takže teraz môžete vyriešiť všetky problémy. Nahrajte tento testovací kód (nezabudnite si vybrať správnu tabuľu a port z náradie > doska a náradie > prístav menu):
tlačidlá const int [] = {2,3,4,5,6,7,8,9,10}; // pole všetkých kolíkov tlačidla void setup () {// tu vložte svoj inštalačný kód, ktorý chcete spustiť raz: 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 svoj hlavný kód, aby ste ho mohli opakovane spúšťať: for (int i = 2; i <11; ++ i) {if (digitalRead (i) == HIGH) {// oneskorenie softvéru zlepšuje oneskorenie presnosti (10); if (digitalRead (i) == HIGH) {// skontrolovať prepínače Serial.print ("input"); Serial.println (i); oneskorenie (250); } } } }
Možno budete musieť zmeniť kolíky, ak ste upravili obvod.
Po nahraní otvorte sériový monitor (hore vpravo > Sériový monitor). Postupne stlačte každé tlačidlo. Mali by ste vidieť, ako sériový monitor zobrazuje číslo tlačidla, ktoré ste stlačili. Rovnako ako v prípade kontrolky LED, ak sa počítač sťažuje na príliš veľký prúd alebo ak kontrolky zhasnú, keď stlačíte tlačidlo, okamžite sa odpojte! Máte niekde v okruhu skrat, dvakrát skontrolujte, či je obvod správny a či medzi spojmi nie sú žiadne skraty.
Ak všetko funguje, choďte do toho a zapojte obvod do krabice. Možno budete chcieť použiť kúsok lepidla na udržanie okruhu na mieste (aj keď drôty držali baňu v poriadku). Naskrutkujte tiež veko.
To, aby sa Arduino javilo ako klávesnica, je veľmi jednoduché. Ak používate Nano alebo UNO, preprogramujete svoje Arduino pomocou Aktualizácia firmvéru zariadenia (DFU). Zvyčajne sa používa na flash nový firmvér pre Arduino. Budete ho používať na blesk Arduino s novým firmvérom, vďaka ktorému bude fungovať ako klávesnica. Toto sa tu nebude vzťahovať, pretože ide o pomerne zložitú úlohu. Webová stránka Arduino má na to dobrý návod.
Arduino Pro Micro robí tento krok veľmi ľahkým. Logika potrebná na emuláciu klávesnice USB je už zabudovaná v procesore, takže je rovnako jednoduchá ako písanie nejakého kódu!
Najskôr nastavte kľúče:
klávesy int [] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
Toto je pole obsahujúce všetky piny, ku ktorým sú tlačidlá pripojené. Ak ste použili viac či menej tlačidiel alebo použili rôzne kolíky, zmeňte ich tu.
Pole je súbor rovnako zmýšľajúcich vecí. Počítače môžu optimalizovať váš kód tak, aby k nim mali rýchly prístup, a zrýchľujú proces zápisu kódu.
Teraz inicializujte všetky kolíky ako vstupy:
void setup () {// tu vložte inštalačný kód, ktorý chcete spustiť raz: Keyboard.begin (); // nastavovacia klávesnica pre (int i = 2; i <11; ++ i) {// inicializácia pinov pinMode (i, INPUT); } }
Toto hovorí Arduino, že všetky kolíky v poli sú vstupy. Na to sa používa slučka, nie písanie pinMode (2, INPUT) deväťkrát, musíte to napísať iba raz. To tiež vyžaduje Keyboard.begin. Týmto sa nastaví funkcia zabudovaná do knižnice Arduino, ktorá je navrhnutá špeciálne na emuláciu klávesnice.
Vytvorte metódu s názvom readButton:
boolean readButton (int pin) {// tlačidlá na kontrolu a vylúčenie, ak (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {návrat true; }} vrátiť nepravdivé; }
Týmto sa vyberie špendlík a skontroluje sa, či bol stlačený alebo nie. Jednoducho sa vracia TRUE alebo FALSE. Niektoré tiež obsahuje odčerpanie softvéru - jednoduché oneskorenie a opätovná kontrola prepínača zaručujú, že tlačidlo bolo skutočne stlačené.
Teraz sa vo vnútri volá ďalšia slučka prázdna slučka ():
void loop () {// tu vložte svoj hlavný kód, aby ste ho mohli opakovane spúšťať: for (int i = 2; i <11; ++ i) {// kontrolné tlačidlá, ak (readButton (i)) {doAction (i); } } }
Znova to prejde cez každý prvok v poli a skontroluje, či bol stlačený. Robí to tak, že sa nazýva readButton metóda, ktorú ste vytvorili skôr. Ak bolo stlačené tlačidlo, prechádza toto číslo PIN na inú volanú metódu doAction:
void doAction (int pin) {// prepínač úloh (pin) {prípad 2: Keyboard.println ("drive.google.com"); prestávka; prípad 3: Keyboard.println ("makeuseof.com"); prestávka; prípad 4: // CMD + T (nová karta, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 'T'); oneskorenie (100); Keyboard.releaseAll (); prestávka; prípad 5: // vaša úloha je tu prerušená; prípad 6: // vaša úloha je tu prerušená; prípad 7: // vaša úloha je tu prerušená; prípad 8: // vaša úloha je tu prerušená; prípad 9: // vaša úloha je tu prerušená; } }
Týmto sa skontroluje číslo kolíka pomocou a prepínač vyhlásenia. Príkazy typu switch (niekedy nazývané prepínač prípad) sú podobné ako ak tvrdenie, sú však užitočné na kontrolu toho, či sa jedna vec (v tomto prípade číslo kolíka) rovná jednému z niekoľkých rôznych výsledkov. V zásade sú oveľa rýchlejšie vypočítateľné.
Hlavné komponenty sú vnútri tohto príkazu na prepínanie. Keyboard.println zapisuje text do počítača, akoby ste fyzicky napísali všetky klávesy. Keyboard.press stlačí a podrží jedno tlačidlo. Nezabudnite ich uvoľniť pomocou Keyboard.releaseAll po krátkom oneskorení!
Tu je celý kód:
klávesy int [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// tu vložte inštalačný kód, ktorý chcete spustiť raz: Keyboard.begin (); // nastavovacia klávesnica pre (int i = 2; i <11; ++ i) {// inicializácia pinov pinMode (i, INPUT); } } void loop () {// sem vložte svoj hlavný kód, aby ste ho mohli opakovane spúšťať: for (int i = 2; i <11; ++ i) {// kontrolné tlačidlá, ak (readButton (i)) {doAction (i); } } } boolean readButton (int pin) {// tlačidlá na kontrolu a vylúčenie, ak (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {návrat true; }} vrátiť nepravdivé; } void doAction (int pin) {// prepínač úloh (pin) {prípad 2: Keyboard.println ("drive.google.com"); prestávka; prípad 3: Keyboard.println ("makeuseof.com"); prestávka; prípad 4: // CMD + T (nová karta, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 'T'); oneskorenie (100); Keyboard.releaseAll (); prestávka; prípad 5: // vaša úloha je tu prerušená; prípad 6: // vaša úloha je tu prerušená; prípad 7: // vaša úloha je tu prerušená; prípad 8: // vaša úloha je tu prerušená; prípad 9: // vaša úloha je tu prerušená; } }
Okrem všetkých číselných a písmenových klávesov môže Arduino stlačiť aj väčšinu zvaných špeciálnych klávesov Modifikátory klávesnice. Sú užitočné najmä pri stlačení klávesových skratiek. Webová stránka Arduino má užitočný zoznam.
Zostáva už len vytvorenie niektorých odkazov. Môžete to zmapovať na existujúce skratky, napríklad alt + F4 (zatvorte program vo Windows) alebo cmd + Q (ukončite program macOS). Prípadne si prečítajte našu konečný sprievodca klávesovými skratkami Klávesové skratky systému Windows 101: Ultimate GuideKlávesové skratky vám môžu ušetriť hodiny času. Osvojte si univerzálne klávesové skratky systému Windows, klávesové triky pre konkrétne programy a niekoľko ďalších tipov na urýchlenie práce. Čítaj viac , ako vytvoriť skratky systému Windows Ako vytvoriť zástupcu na ploche systému Windows jednoduchým spôsobomKlávesové skratky na pracovnej ploche vám môžu ušetriť bezduché preosievanie cez ponuky a priečinky. Ukážeme vám rýchle a jednoduché spôsoby ich vytvorenia. Čítaj viac a každá skratka Chromebooku Každá klávesová skratka Chromebooku, ktorú budete kedy potrebovaťOsvojte si operačný systém Chrome OS so zoznamom všetkých dôležitých klávesových skratiek Chromebooku, ktoré kedy budete potrebovať. Čítaj viac začať s vytváraním vlastných skratiek.
Vytvorili ste si vlastnú skratku? Dajte mi vedieť v komentároch, rád by som videl nejaké obrázky!
Joe je absolventom počítačovej vedy na University of Lincoln vo Veľkej Británii. Je to profesionálny vývojár softvéru a keď nelieta bezpilotných lietadiel alebo píše hudbu, často ho nájdu pri fotografovaní alebo výrobe videa.