Vytvořte si vlastní vlastní tlačítka s Arduinem

Vytvořte si vlastní vlastní tlačítka s Arduinem

Pokorný Arduino dokáže spoustu věcí, ale věděli jste, že dokáže napodobit klávesnici USB? S tímto jednoduchým obvodem můžete kombinovat ty těžko zapamatovatelné dlouhé klávesové zkratky do jediné vlastní klávesové zkratky. Zde je konečný výsledek:





Nikdy jste nikdy nepoužívali Arduino? Podívejte se na náš průvodce pro začátek za prvé.





Co potřebuješ

K vytvoření tohoto projektu potřebujete:





  • 1 x Arduino Pro Micro.
  • Momentální tlačítka nebo tlačítka na klávesnici.
  • 10K ohmové odpory.
  • Různé propojovací dráty.
  • 1 x 220 ohmové odpory.
  • 1 x 5 mm (0,197 palce) LED.
  • 1 x 5 mm držák LED.

Pro tento projekt budete potřebovat velmi specifické Arduino. Používám a 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 jinými Arduiny, jako je UNO nebo Nano, ale vyžaduje to spoustu tvrdé práce, aby se znovu objevil bios a hrálo se, aby věci fungovaly. Klony jiných modelů Arduino obvykle nefungují vůbec, ale klon Pro Micro je také v pořádku.

OSOYOO Pro Micro ATmega32U4 5V/16MHz Module Board with 2 Row pin Header Replace with ATmega328 Pro Mini for Arduino KOUPIT HNED NA AMAZONU

Pro každé tlačítko, které chcete použít, budete potřebovat jedno momentální tlačítko, jeden odpor 10 K ohmů a příslušný propojovací vodič. I když používám mechanické spínače klávesnice Cherry MX pro vlastní tlačítka zkratek, ačkoli žádný přepínač bude fungovat za předpokladu, že je dočasný a nezajistí se.



V závislosti na tom, jak to vytvoříte, budete možná potřebovat několik dalších položek. Pokud ho chcete prototypovat, budete potřebovat nepájivé 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.

Plán sestavení

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





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

Existuje několik variant přepínačů řady MX. Tento web poskytuje vynikající úvod, ale v podstatě se snižují na hluk a tlak. Některé modely vyžadují ke stlačení větší sílu a některé modely po stisknutí vydávají mechanické „cvaknutí“. Použil jsem Cherry MX Browns, které při stisknutí nevydávají žádný hluk. Všechny mají stejné rozměry, takže si bez obav vyberte jakýkoli model, který se vám líbí (nebo kombinujte).

Samozřejmě si také budete muset koupit nějaké krytky klíčů a je po světě vlastní návrhy máme na výběr - zakoupili jsme od KeyboardCo ve Velké Británii





Pouzdro

Toto pouzdro jsem vytiskl 3D a můžete si jej stáhnout .STL soubory z Thingiverse . Pokud 3D tiskárnu nevlastníte, můžete si ji postavit. Mnoho webových stránek poskytuje služby 3D tisku, jako například 3D rozbočovače nebo Tvary . Alternativně je to velmi jednoduchý případ, můžete si vyrobit vlastní z plastového kartonu, plexiskla, dřeva nebo dokonce z lepenky. Pokud chcete být opravdu šetrní, Cherry MX prodává zapnutý tester/sampler Amazonka ( Spojené království ). Budete potřebovat 4 šrouby M5 x 35 mm a 4 matice M5. Samozřejmě je můžete nahradit vhodnou alternativou, kterou máte.

Keyboard Keycap, Cherry MX Switch, Tester Kit (9 spínačů Pro Sampler Tester Kit) KOUPIT HNED NA AMAZONU

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

Pouzdro na 3D tisk je rozděleno na dvě části, horní a spodní. Zatlačte přepínače Cherry MX do čtvercových otvorů:

Ujistěte se, že jste přepínače namontovali správně. V horní části je nápis „CHERRY“ a ve spodní části malý zářez. Vložte 3mm LED do tohoto malého slotu:

Můžete zjistit, že LED diody vypadají nejlépe namontované „vzhůru nohama“. To byl případ klíčenek, které jsem použil, a vůbec to neovlivnilo přepínače.

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

Dále přišroubujte držák LED (prozatím nechte LED odstraněnou). Sestavení pouzdra dokončíte později, jakmile bude obvod postaven.

Okruh

Tento obvod je postaven na stripboardu. To je vynikající pro stavbu semipermanentních obvodů bez nákladů na desku s plošnými spoji (PCB). Je to prostě kus sklolaminátu s měděnými pásy probíhajícími paralelně v jednom směru. Tyto dráhy lze pájet, stejně jako řezat. Řezání stopy lze provést speciálním nástrojem nebo malým vrtákem.

Nejste si příliš jistí pájením? Nejprve se podívejte na tyto jednoduché projekty.

Zde je rozložení stripboardu (nezahrnuje koncové vodiče):

Ujistěte se, že jste prořízli stopy pod odpory a Arduino. Protože může být velmi obtížné přečíst obvod stripboardu, zde je verze pro breadboard:

Je těsné zmáčknout všechny součásti do tak malého prostoru. Odřízněte rohy lišty následujícím způsobem:

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

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 katodu ( krátká noha, negativní ) do země. Zakryjte nohy teplem smrštitelnou objímkou ​​a poté zatlačte do držáku LED. Není potřeba žádné lepidlo, váš držák LED však nemusí být nasazovací, proto budete muset tyto pokyny přizpůsobit.

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 odlišně barevnou stavovou LED pro každou banku.

Nyní je čas pájet všechny LED diody na kryty kláves. Ty slouží výhradně k tomu, aby klíče zářily, takže je můžete přeskočit, pokud byste chtěli, a nemusí být připojeny k digitálnímu pinu, pouze napájení. Spojte všechny anody dohromady a všechny katody dohromady. Poučte se z mé chyby - je mnohem jednodušší to udělat před zapojením spínačů! Připojte anody na +5 V přes odpor 220 ohmů a katody k zemi. Tyto LED diody jsou zapojeny paralelně. Zde je obvod pouze pro tyto LED diody:

Použijte malý kousek smršťovací bužírky k zakrytí spojení mezi LED a Arduino:

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

Nyní zapojte spínače. Ty musí být připojeny přes 10k odpor, jinak Arduino zemře. Tomu se říká mrtvý zkrat - +5 V jde přímo do země a z vašeho Arduina zbyde jen obláček kouře (věřte mi, už jsem jednoho zabil, abyste nemuseli). Zde je obvod pro jeden přepínač:

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 10K odporem k zemi. Buďte opatrní při pájení spínačů Cherry MX, mohou být trochu křehké, přerušilo se mi několik pinů. Možná je budete chtít pájet přímo na další stripboard, ale koncové přívody jsou stále vhodné.

To je k elektroinstalaci. Možná budete chtít připojit zásuvku USB typu B, ale malé kolíky na nich mohou být často velmi obtížně pájitelné. Pokud si to nepřejete, nedělejte si starosti. Konektor Micro USB na Arduinu úhledně zapadá do otvoru v šasi. Pokud jste trochu zmatení z různých typů USB, ujistěte se, že ano pochopit rozdíly .

Nakonec znovu zkontrolujte, zda je váš obvod správný. Short může snadno zničit Arduino a lze to snadno provést pomocí stripboardu.

Kód

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

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

Pokud jste upravili obvod, budete možná muset změnit piny.

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 sériový monitor ukazující číslo tlačítka, které jste stiskli. Stejně jako u LED, pokud si váš počítač stěžuje na příliš velký odběr proudu nebo LED zhasnou po stisknutí tlačítka, okamžitě odpojte! Někde v obvodu máte zkrat, znovu zkontrolujte, zda je obvod správný a zda mezi zkraty nejsou zkraty.

Pokud vše funguje, pokračujte a vložte obvod do krabice. Možná budete chtít použít kousek lepidla, aby obvod zůstal na svém místě (i když dráty držely ten můj v pořádku). Přišroubujte také víko.

Je velmi jednoduché vytvořit z Arduina klávesnici. Pokud používáte Nano nebo UNO, chystáte se znovu naprogramovat své Arduino pomocí Aktualizace firmwaru zařízení (DFU). To se obvykle používá k flashování nového firmwaru do Arduina. Budete jej používat k flashování Arduina s novým firmwarem, díky kterému bude fungovat jako klávesnice. To zde nebude popsáno, protože jde o poměrně složitý úkol. The Web Arduino má na to dobrý návod.

Arduino Pro Micro tento krok velmi usnadňuje. Logika potřebná k emulaci klávesnice USB je již integrována v procesoru, takže je to tak jednoduché, jako napsat nějaký kód!

Nejprve nastavte klíče:

int keys[] = {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 nebo méně tlačítek nebo použili jiné piny, změňte zde hodnoty.

Pole je soubor podobně smýšlejících věcí. Počítače mohou optimalizovat váš kód, aby k nim měli rychlý přístup, a urychlují proces psaní kódu.

Nyní inicializujte všechny piny jako 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);
}
}

To Arduinu říká, že všechny piny v poli jsou vstupy. K tomu se používá smyčka, takže spíše než psaní pinMode (2, VSTUP) devětkrát, stačí to napsat jednou. To také volá Keyboard.begin . Tím se nastaví funkce integrovaná do knihovny Arduino, navržená speciálně pro emulaci klávesnice.

Vytvořte metodu s názvem readButton :

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

To trvá pin a zkontroluje, zda bylo stisknuto nebo ne. Jednoduše se vrací SKUTEČNÝ nebo NEPRAVDIVÉ . Obsahuje také některé softwarové odskakování -jednoduché zpoždění a opětovná kontrola přepínače zajistí, že bylo tlačítko skutečně stisknuto.

Nyní se uvnitř zavolá další smyčka for prázdná smyč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ět se tím projde každý prvek v poli a zkontroluje se, zda byl stisknut. Dělá to tak, že se nazývá readButton metoda, kterou jste vytvořili dříve. Pokud bylo stisknuto tlačítko, předá toto číslo PIN jiné volané metodě 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;
}
}

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

Hlavní součásti jsou uvnitř tohoto příkazu přepínače. Klávesnice.println zapisuje text do počítače, jako byste fyzicky zadali všechny klávesy. Keyboard.press stiskne a podrží jednu klávesu. Nezapomeňte je uvolnit pomocí Klávesnice. Uvolnění Vše po krátké prodlevě!

jak sledovat IP adresu z e -mailu

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

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 . Ty jsou zvláště užitečné pro stisknutí klávesových zkratek. Web Arduino má užitečný seznam .

Teď už jen zbývá vytvořit nějaké zkratky. Můžete to namapovat na existující zkratky, jako například Všechno + F4 (zavřete program ve Windows) nebo Cmd + Otázka (ukončete program macOS). Případně si přečtěte naše konečný průvodce klávesovými zkratkami , jak vytvořit zástupce systému Windows a každá zkratka pro Chromebook abyste mohli začít vytvářet vlastní zkratky.

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

Doufáme, že se vám budou líbit položky, které doporučujeme a diskutujeme! Společnost MUO má partnerská a sponzorovaná partnerství, takže dostáváme část příjmů z některých vašich nákupů. To neovlivní cenu, kterou zaplatíte, a pomůže nám to nabídnout nejlepší doporučení produktů.

Podíl Podíl tweet E-mailem Zde je důvod, proč FBI vydala varování pro ransomware Hive

FBI vydala varování před obzvláště ošklivým kmenem ransomwaru. Zde je důvod, proč byste si měli dávat pozor zejména na ransomware Hive.

Číst dále
Související témata
  • DIY
  • Klávesnice
  • Klávesové zkratky
  • Arduino
O autorovi Joe Coburn(136 publikovaných článků)

Joe je absolventem informatiky na University of Lincoln, UK. Je profesionálním vývojářem softwaru, a když neletí drony nebo nepíše hudbu, často ho lze zastihnout při fotografování nebo produkci videí.

Více od Joe Coburn

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru
Kategorie Diy