Vytvorte si vlastné tlačidlá skratiek s Arduinom

Vytvorte si vlastné tlačidlá skratiek s Arduinom

Skromný Arduino dokáže veľa vecí, ale vedeli ste, že dokáže napodobniť klávesnicu USB? S týmto jednoduchým obvodom môžete skombinovať tie ťažko zapamätateľné dlhé klávesové skratky do jednej vlastnej klávesovej skratky. Tu je konečný výsledok:





Nikdy ste nikdy nepoužívali Arduino? Pozrite sa na náš sprievodca na začiatku najprv.





Čo potrebuješ

Na vytvorenie tohto projektu potrebujete:





  • 1 x Arduino Pro Micro.
  • Momentálne tlačidlá alebo tlačidlá klávesnice.
  • 10K ohmové odpory.
  • Rôzne prepojovacie vodiče.
  • 1 x 220 ohmové odpory.
  • LED dióda 1 x 5 mm (0,197 palca)
  • 1 x 5 mm držiak LED.

Na tento projekt budete potrebovať veľmi špecifické Arduino. Používam a Pro Micro Pretože sú tak malé a lacné, potrebujete Arduino, ktoré má v procesore vstavaný port USB (Atmega32u4). Tento projekt je možné postaviť s inými Arduinos, ako napríklad UNO alebo Nano, vyžaduje si však veľa tvrdej práce, aby ste znova preblikali bios a pohrávali si, aby všetko fungovalo. Klony iných modelov Arduino zvyčajne nefungujú vôbec, ale klon Pro Micro je tiež v poriadku.

Modulová doska OSOYOO Pro Micro ATmega32U4 5V/16MHz s 2radovým kolíkovým záhlavím Nahradiť za ATmega328 Pro Mini pre Arduino KÚPIŤ TERAZ NA AMAZÓNE

Na každé tlačidlo, ktoré chcete použiť, budete potrebovať jedno okamžité tlačidlo, jeden odpor 10 K ohmov a príslušný prepojovací vodič. Na skutočné tlačidlá skratiek však používam mechanické prepínače klávesnice Cherry MX akýkoľvek prepínač bude fungovať za predpokladu, že je dočasný a nezablokuje sa.



V závislosti od toho, ako to vytvoríte, budete možno potrebovať niekoľko ďalších položiek. Ak ho chcete prototypovať, budete potrebovať a nespájkovateľné nepájivé pole . Stojí za to minúť peniaze na dobrý - niekedy môžu byť veľmi nespoľahlivé. Ak to chcete zabaliť, budete si chcieť kúpiť nejaký stripboard.

Plán stavby

Takto to bude fungovať. Arduino bude naprogramované tak, aby fungovalo ako klávesnica USB - pokiaľ ide o váš počítač, je to tak. Niekoľko tlačidiel pripojených k Arduinu bude odosielať kľúčové príkazy do vášho počítača. Stlačíte iba jedno tlačidlo, ale počítač si bude myslieť, že ste stlačili Všetko > F4 , napríklad.





Výber prepínača

Existuje niekoľko variácií spínačov radu MX. Tento web poskytuje vynikajúci úvod, ale v zásade ide o hluk a tlak. Niektoré modely vyžadujú väčšiu silu na stlačenie a niektoré modely pri stlačení vydávajú mechanické cvaknutie. Použil som Cherry MX Browns, ktoré pri stlačení nevydávajú hluk. Všetky majú rovnaké rozmery, takže si bez obáv vyberte akýkoľvek model, ktorý sa vám páči (alebo ich kombinujte).

Budete si tiež musieť samozrejme kúpiť niekoľko krytiek kľúčov a je toho veľa vlastné návrhy máme na výber - nakúpili sme z KeyboardCo vo Veľkej Británii





Púzdro

Toto puzdro som vytlačil 3D a môžete si ho stiahnuť .STL súbory z Thingiverse . Ak 3D tlačiareň nevlastníte, môžete si ju postaviť. Mnoho webových stránok poskytuje služby 3D tlače, ako napr 3D rozbočovače alebo Tvarovky . Alternatívne je to veľmi jednoduchý prípad, môžete si vyrobiť vlastný z plastového kartónu, plexiskla, dreva alebo dokonca z lepenky. Ak chcete byť skutočne šetrní, Cherry MX predáva zapnutý tester/sampler Amazon ( UK ). Budete potrebovať 4 skrutky M5 x 35 mm a 4 matice M5. Tieto môžete samozrejme nahradiť vhodnou alternatívou, ktorú máte.

Klávesnica Max, klávesnica Cherry MX, tester (9 prepínačov, sada testerov Pro Sampler) KÚPIŤ TERAZ NA AMAZÓNE

Ak vyrábate svoj vlastný prípad, je tu jeden dôležitý detail, ktorý musíte vedieť: Prepínače Cherry MX sú zasunuté do montážnych otvorov. Vyžadujú štvorcový montážny otvor 14 x 14 mm (0,551 palca), pričom doska nesmie byť hrubšia ako 1,5 mm (0,059 palca). Ak sa vzdialite od týchto rozmerov, vaše vypínače sa už nemusia správne montovať.

3D tlačené puzdro je rozdelené na dve časti, hornú a spodnú. Zatlačte prepínače Cherry MX do štvorcových otvorov:

Uistite sa, že ste spínače namontovali správnym smerom. V hornej časti je nápis „ČEREŠŇA“ a v spodnej časti je malý zárez. Vložte 3 mm diódu LED do tohto malého otvoru:

Môžete prísť na to, že LED diódy vyzerajú najlepšie namontované „hore nohami“. To bol prípad klávesov, ktoré som použil, a vôbec to neovplyvňuje spínače.

Teraz by ste mali mať deväť prepínačov s 9 LED diódami. Nie je potrebné lepiť žiadne z týchto častí. Spájka bude držať LED diódy a trenie bude držať spínače.

Ďalej zaskrutkujte držiak LED (LED diódu zatiaľ nechajte odstránenú). Zostavenie puzdra dokončíte neskôr, keď bude obvod postavený.

Okruh

Tento obvod je postavený na stripboarde. To je vynikajúce pre stavbu semipermanentných obvodov bez nákladov na dosku s plošnými spojmi (PCB). Je to jednoducho kus sklolaminátu s medenými dráhami prebiehajúcimi paralelne v jednom smere. Tieto dráhy je možné spájkovať, ako aj rezať. Rezanie dráhy je možné vykonať špeciálnym nástrojom alebo malým vrtákom.

Nie ste si príliš istí spájkovaním? Najprv sa pozrite na tieto jednoduché projekty.

Tu je rozloženie stripboardu (okrem koncových potenciálnych zákazníkov):

Uistite sa, že ste prerušili stopy pod odpormi a Arduinom. Pretože môže byť veľmi ťažké prečítať obvod stripboardu, tu je verzia pre breadboard:

Je tesné stlačiť všetky komponenty do tak malého priestoru. Vyrežte rohy svojej lišty nasledovne:

To by malo úhľadne zapadnúť do spodnej časti puzdra:

Uistite sa, že sú trate vedené vertikálne.

Pripojte anódu ( dlhá noha, pozitívna ) LED na odpor 200 ohmov a potom na +5 V. Pripojte katódu ( krátka noha, negatívna ) k zemi. Zakryte nohy teplom zmrštiteľným rukávom a potom ich zatlačte do držiaka LED. Nie je potrebné žiadne lepidlo, váš držiak LED však nemusí byť push-fit, preto budete musieť tieto pokyny prispôsobiť.

Môžete tu namiesto toho použiť dvojfarebnú LED diódu-to vám umožní nastaviť dve alebo viac bánk prepínačov s rôznofarebnými stavovými LED pre každú banku.

Teraz je čas spájkovať všetky diódy LED pre kryty klávesov. Tieto slúžia výhradne na to, aby klávesy žiarili, takže ich môžete v prípade záujmu preskočiť a nemusia byť pripojené k digitálnemu pinu, iba k napájaniu. Spojte všetky anódy dohromady a všetky katódy dohromady. Poučte sa z mojej chyby - pred zapojením vypínačov je to oveľa jednoduchšie! Pripojte anódy k +5 V pomocou odporu 220 ohmov a katódy k zemi. Tieto diódy LED sú zapojené paralelne. Tu je obvod len pre tieto diódy LED:

Na zakrytie spojenia medzi diódami LED a Arduinom použite malý kúsok zmršťovacej trubičky:

Zapnite Arduino a vyskúšajte, či všetky diódy LED fungujú. Nie je potrebné nahrávať žiadny kód. Ak niektoré LED diódy nefungujú, znova skontrolujte zapojenie.

Teraz zapojte spínače. Tieto musia byť spojené cez 10k odpor, inak Arduino zomrie. Tomu sa hovorí mŕtvy skrat - +5 V ide priamo do zeme a z vášho Arduina zostane iba obláčik dymu (verte mi, jedného som už zabil, aby ste nemuseli). 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 10K odporom k zemi. Dávajte pozor na spájkovanie spínačov Cherry MX, môžu byť trochu krehké, zlomil sa mi niekoľko pinov. Možno ich budete chcieť spájkovať priamo na niektorom z pásikov, ale koncové vodiče sú stále vhodné.

To je k elektroinštalácii všetko. Možno budete chcieť pripojiť zásuvku USB typu B, ale malé kolíky na nich je často veľmi ťažké spájkovať. Ak to nechcete urobiť, nebojte sa. Konektor Micro USB na Arduine úhľadne zapadá do otvoru v šasi. Ak ste trochu zmätení z rôznych typov USB, uistite sa, že áno pochopiť rozdiely .

Nakoniec dvakrát skontrolujte, či je váš obvod správny. Skratka môže Arduino ľahko zničiť a dá sa to ľahko vykonať pomocou stripboardu.

Kód

Teraz vyskúšajte, či je obvod správny. Je dobré to urobiť skôr, ako budete pokračovať, aby ste mohli všetky problémy vyriešiť hneď, ako budete môcť. Nahrajte tento testovací kód (nezabudnite vybrať správnu dosku a port z Nástroje > Doska a Nástroje > Prístav ponuky):

const int buttons[] = {2,3,4,5,6,7,8,9,10}; // array of all button pins
void setup() {
// put your setup code here, to run once:
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() {
// put your main code here, to run repeatedly:
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);
}
}
}
}

Ak ste upravili obvod, možno budete musieť vymeniť kolíky.

Po nahraní otvorte sériový monitor ( hore vpravo > Sériový monitor ). Postupne stlačte každé tlačidlo. Mali by ste vidieť sériový monitor s číslom tlačidla, ktoré ste stlačili. Rovnako ako pre diódy LED, ak sa váš počítač sťažuje na príliš veľký odber prúdu alebo ak diódy LED zhasnú po stlačení tlačidla, ihneď ich odpojte! Niekde v obvode máte skrat, dvakrát skontrolujte, či je obvod správny a či nie sú skraty medzi spojmi.

Ak všetko funguje, pokračujte a vložte obvod do krabice. Možno budete chcieť použiť kúsok lepidla na udržanie obvodu na svojom mieste (aj keď drôty držali ten môj v poriadku). Zaskrutkujte tiež veko.

To, aby sa Arduino javilo ako klávesnica, je veľmi jednoduché. Ak používate Nano alebo UNO, chystáte sa znova naprogramovať svoje Arduino pomocou Aktualizácia firmvéru zariadenia (DFU). Toto sa zvyčajne používa na prenos nového firmvéru do Arduina. Budete ho používať na flashovanie Arduina s novým firmvérom, vďaka ktorému bude fungovať ako klávesnica. Toto sa tu nebude zaoberať, pretože je to dosť zložitá úloha. The Webová stránka Arduino má na to dobrý návod.

Arduino Pro Micro tento krok veľmi uľahčuje. Logika potrebná na emuláciu klávesnice USB je v procesore už zabudovaná, takže je to také jednoduché, ako napísať nejaký kód!

Najprv nastavte kľúče:

int keys[] = {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 alebo menej tlačidiel alebo použili rôzne piny, zmeňte hodnoty tu.

Pole je súbor podobne zmýšľajúcich vecí. Počítače môžu optimalizovať váš kód, aby k nim mali rýchly prístup, a urýchľujú proces písania kódu.

Teraz inicializujte všetky kolíky ako vstupy:

void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (int i = 2; i <11; ++i) {
// initilize pins
pinMode(i, INPUT);
}
}

Arduinu to hovorí, že všetky piny v poli sú vstupy. Na tento účel sa používa slučka, a nie písanie pinMode (2, VSTUP) deväťkrát, musíte to napísať iba raz. Tomu sa tiež hovorí Keyboard.begin . Tým sa nastaví funkcia vstavaná do knižnice Arduino navrhnutá špeciálne pre emuláciu klávesnice.

Vytvorte metódu s názvom readButton :

boolean readButton(int pin) {
// check and debounce buttons
if (digitalRead(pin) == HIGH) {
delay(10);
if (digitalRead(pin) == HIGH) {
return true;
}
}
return false;
}

Na to bude potrebný špendlík a skontroluje sa, či bol stlačený alebo nie. Jednoducho sa to vracia PRAVDA alebo NEPRAVDA . Obsahuje aj niektoré odstraňovanie softvéru -Jednoduché oneskorenie a opätovná kontrola prepínača zaistí, že tlačidlo bolo skutočne stlačené.

Teraz sa dovnútra volá ďalšia slučka for prázdna slučka () :

void loop() {
// put your main code here, to run repeatedly:
for (int i = 2; i <11; ++i) {
// check buttons
if(readButton(i)) {
doAction(i);
}
}
}

Opäť sa tým prejde každý prvok v poli a skontroluje sa, či bol stlačený. Robí to pomocou názvu readButton metóda, ktorú ste vytvorili predtým. Ak bolo tlačidlo stlačené, prenesie toto číslo PINu do inej metódy doAction :

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;
}
}

Číslo PIN sa kontroluje pomocou a prepínač vyhlásenie. Prepínače (niekedy nazývané spínacia skrinka ) sú podobné ako keby vyhlásenie, sú však užitočné na kontrolu, či sa jedna vec (v tomto prípade číslo PIN) rovná jednému z niekoľkých rôznych výsledkov. V zásade je ich výpočet oveľa rýchlejší.

Hlavné komponenty sú súčasťou tohto vyhlásenia o prepínači. Klávesnica.println píše text do počítača, akoby ste fyzicky zadali všetky klávesy. Klávesnica.press stlačí a podrží jeden kláves. Nezabudnite ich uvoľniť pomocou Klávesnica.uvoľnenieVšetko po krátkom zdržaní!

ako odstrániť zálohy z stroja času

Tu je celý kód:

int keys[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};
void setup() {
// put your setup code here, to run once:
Keyboard.begin(); // setup keyboard
for (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;
}
}

Okrem všetkých klávesov s číslami a písmenami môže Arduino stlačiť aj väčšinu špeciálnych volaných kláves Modifikátory klávesnice . Sú obzvlášť užitočné pri stláčaní klávesových skratiek. Web Arduino má a pomocný zoznam .

Teraz zostáva len vytvoriť niekoľko skratiek. Môžete to namapovať na existujúce skratky, ako napríklad Všetko + F4 (zatvorte program v systéme Windows) alebo Cmd + Q (ukončite program macOS). Prípadne si prečítajte naše dokonalý sprievodca klávesovými skratkami , ako vytvárať skratky systému Windows a každá skratka pre Chromebook začať vytvárať vlastné skratky.

Vytvorili ste si vlastné pole skratiek? Dajte mi vedieť v komentároch, rád by som videl nejaké obrázky!

Dúfame, že sa vám budú páčiť položky, ktoré odporúčame a diskutujeme! MUO má pridružené a sponzorované partnerstvá, takže dostávame časť výnosov z niektorých vašich nákupov. To neovplyvní cenu, ktorú zaplatíte, a pomôže nám to ponúknuť najlepšie odporúčania produktov.

zdieľam zdieľam Tweet E -mail Tu je dôvod, prečo FBI vydala upozornenie na úľový ransomware

FBI vydala varovanie pred obzvlášť škaredým kmeňom ransomwaru. Tu je dôvod, prečo si musíte dávať pozor predovšetkým na ransomware Hive.

Čítajte ďalej
Súvisiace témy
  • DIY
  • Klávesnica
  • Klávesové skratky
  • Arduino
O autorovi Joe Coburn(136 publikovaných článkov)

Joe je absolventom počítačových vied na University of Lincoln, UK. Je profesionálnym softvérovým vývojárom a keď nelieta s dronmi alebo nepíše hudbu, často ho zastihne fotografovanie alebo vytváranie videí.

Viac od Joe Coburn

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné elektronické knihy a exkluzívne ponuky!

Kliknutím sem sa prihlásite na odber
Kategórie Diy