Naredite svoje gumbe bližnjic po meri z Arduinom

Naredite svoje gumbe bližnjic po meri z Arduinom

Skromni Arduino lahko naredi marsikaj, toda ali ste vedeli, da lahko posnema tipkovnico USB? Te preproste zaporedje bližnjic na tipkovnici lahko združite v eno samo bližnjico po meri. Tu je končni rezultat:





Še nikoli niste uporabljali Arduina? Oglejte si našo vodnik za začetek prvi.





Kaj rabiš

Za izdelavo tega projekta potrebujete:





  • 1 x Arduino Pro Micro.
  • Trenutni gumbi ali tipke na tipkovnici.
  • 10K ohmski upori.
  • Različne priključne žice.
  • 1 x 220 ohmski upori.
  • 1 x 5 mm (0,197 palca) LED.
  • 1 x 5 mm LED držalo.

Za ta projekt boste potrebovali zelo poseben Arduino. Uporabljam a Pro Micro , ker so tako majhni in poceni, potrebujete Arduino, ki ima v procesor vgrajen USB-Serial (Atmega32u4). Ta projekt je mogoče zgraditi z drugimi Arduini, kot sta UNO ali Nano, vendar zahteva veliko trdega dela, da bi znova posneli bios in se poigrali, da bi stvari delovale. Kloni drugih modelov Arduino običajno sploh ne delujejo, vendar je klon Pro Micro tudi v redu.

OSOYOO Pro Micro ATmega32U4 5V/16MHz modularna plošča z 2 -vrstičnim zatičem, zamenjajte z ATmega328 Pro Mini za Arduino KUPITE ZDAJ NA AMAZONU

Potrebovali boste en trenutni gumb, en 10K ohmski upor in ustrezno priključno žico za vsak gumb, ki ga želite uporabiti. Za dejanske gumbe bližnjic uporabljam mehanska stikala Cherry MX kaj stikalo bo delovalo, če je trenutno in ne zapahne.



Morda boste potrebovali nekaj drugih predmetov, odvisno od tega, kako to zgradite. Če ga želite izdelati kot prototip, potrebujete lemljena plošča . Denar je vredno porabiti za dobrega - včasih so lahko zelo nezanesljivi. Če želite to zabeležiti, boste želeli kupiti nekaj lepenke.

Načrt gradnje

Evo, kako bo to delovalo. Arduino bo programiran tako, da deluje kot tipkovnica USB - kar zadeva vaš računalnik, je. Več gumbov, povezanih z Arduinom, bo poslalo ukaze s ključi v vaš računalnik. Pritisnili boste le en gumb, vendar bo računalnik mislil, da ste pritisnili Vse > F4 , na primer.





Izbira stikala

Obstaja več različic stikal serije MX. Ta spletna stran ponuja odličen uvod, vendar se v bistvu nanašajo na hrup in pritisk. Nekateri modeli zahtevajo večjo silo pri pritisku, nekateri pa ob pritisku oddajajo mehanski zvok 'klika'. Uporabil sem Cherry MX Browns, ki ob pritisku ne povzročajo hrupa. Vse so enakih dimenzij, zato brez skrbi izberite kateri koli model, ki vam je všeč (ali mešajte in se ujemajte).

Seveda boste morali kupiti tudi nekaj pokrovčkov in obstaja svet modeli po meri tam na izbiro - kupili smo pri KeyboardCo v Združenem kraljestvu





Primer

Ta kovček sem 3D natisnil in ga lahko prenesete .STL datoteke iz Thingiverse . Ne skrbite, če nimate 3D tiskalnika, to lahko še vedno zgradite. Mnoga spletna mesta ponujajo storitve 3D tiskanja, npr 3D vozlišča ali Shapeways . Druga možnost je, da je to zelo preprost primer, ki ga lahko naredite sami iz plastike, stekla, lesa ali celo kartona. Če želite biti res varčni, Cherry MX prodaja vklopljen tester stikal/vzorčevalnik Amazon ( UK ). Potrebovali boste 4 vijake M5 x 35 mm in 4 matice M5. Seveda jih lahko nadomestite z ustrezno alternativo, ki jo imate.

Max Keycap Keycap, Cherry MX Switch, Tester Kit (9 stikal Pro Sampler Tester Kit) KUPITE ZDAJ NA AMAZONU

Če izdelujete lastno ohišje, morate vedeti eno pomembno podrobnost: stikala Cherry MX so vstavljena v montažne luknje. Potrebujejo kvadratno montažno luknjo 14 x 14 mm (0,551 palca), pri čemer plošča ni debelejša od 1,5 mm (0,059 palca). Odmaknite se preveč od teh dimenzij in vaša stikala morda ne bodo več pravilno nameščena.

Ohišje s 3D tiskanjem je sestavljeno iz dveh delov, zgornjega in spodnjega. Stikala Cherry MX potisnite v kvadratne luknje:

Prepričajte se, da ste stikala pravilno namestili. Na vrhu je napisano 'CHERRY', na dnu pa je malo zareze. V to majhno režo vstavite 3 mm LED:

Morda boste ugotovili, da so LED diode najbolje nameščene 'na glavo'. Tako je bilo pri tipkovnicah, ki sem jih uporabil, in na stikala sploh ne vpliva.

Zdaj bi morali imeti devet stikal z 9 LED. Nobenega od teh delov ni treba lepiti. Spajka bo držala LED, trenje pa stikala.

Nato privijte nosilec LED (LED zaenkrat pustite odstranjenega). Sestavljanje ohišja boste končali kasneje, ko bo vezje zgrajeno.

Vezje

To vezje je zgrajeno na traku. To je odlično za gradnjo poltrajnih vezij, brez stroškov tiskanega vezja (PCB). To je preprosto kos steklenih vlaken z bakrenimi tirnicami, ki potekajo vzporedno v eno smer. Te sledi je mogoče spajkati in rezati. Rezanje tira lahko opravite s posebnim orodjem ali majhnim svedrom.

Niste preveč samozavestni pri spajkanju? Najprej si oglejte te preproste projekte.

Tukaj je postavitev traku (izključuje sledilne vodnike):

Poskrbite, da boste odrezali sledi pod upori in Arduinom. Ker je lahko zelo težko prebrati vezje na traku, tukaj je različica načrta:

Tesno prilega vse komponente na tako majhen prostor. Kote traku izrežite na naslednji način:

To bi se moralo lepo prilegati na dno ohišja:

Prepričajte se, da sledi potekajo navpično.

Priključite anodo ( dolga noga, pozitivna ) LED na 200 ohmski upor in nato na +5 V. Priključite katodo ( kratka noga, negativna ) na tla. Noge pokrijte s toplotno skrčljivimi rokavi in ​​jih potisnite v držalo LED. Nobeno lepilo ni potrebno, vendar vaš LED nosilec morda ni pritrjen, zato boste morda morali prilagoditi ta navodila.

Namesto tega lahko tukaj uporabite dvobarvno LED-to vam bo omogočilo, da nastavite dve ali več bank stikal, z različno barvno LED za vsako banko.

Zdaj je čas, da spajate vse LED diode za ključe. Ti se uporabljajo samo za osvetlitev tipk, zato jih lahko preskočite, če želite, in jih ni treba priključiti na digitalni zatič, samo na napajanje. Povežite vse anode skupaj in vse katode skupaj. Naučite se iz moje napake - to je veliko lažje storiti pred ožičenjem stikal! Priključite anode na +5 V prek 220 ohmskega upora, katode pa na ozemljitev. Te LED diode so ožičene vzporedno. Tukaj je vezje samo za te LED:

Uporabite majhen kos toplotno skrčljive cevi, da pokrijete povezavo med LED diodami in Arduinom:

Vklopite Arduino, da preizkusite delovanje vseh LED. Kode vam ni treba naložiti. Če LED diode ne delujejo, pojdite in dvakrat preverite ožičenje.

Zdaj priključite stikala. Te je treba povezati prek 10k upora, sicer bo Arduino umrl. Temu se reče mrtva kratka razdalja - +5 V gre neposredno v tla, vse, kar ostane od vašega Arduina, pa bo zgolj dim (verjemite, enega sem že ubil, da vam ni treba). Tukaj je vezje za eno stikalo:

To vezje je enako za vseh devet stikal. Stikala povežite z digitalnimi zatiči od dva do deset, vsak s svojim 10K uporom na maso. Bodite previdni pri spajkanju stikal Cherry MX, lahko so nekoliko krhka, na meni se je zlomilo nekaj zatičev. Morda jih boste želeli spajkati neposredno na kakšen trak, vendar so ključni vodi še vedno primerni.

To je to za ožičenje. Morda boste želeli namestiti žensko vtičnico USB tipa B, vendar je majhne zatiče na njih pogosto težko spajkati. Če tega ne želite, ne skrbite. Priključek Micro USB na Arduinu se lepo prilega luknji v ohišju. Če ste nekoliko zmedeni glede različnih vrst USB, se prepričajte razumeti razlike .

Na koncu še enkrat preverite, ali je vezje pravilno. Kratka lahko zlahka uniči Arduino, enostavno pa jo je narediti s trakom.

Kodeks

Zdaj preverite, ali je vezje pravilno. To je dobro, da to storite, preden nadaljujete, tako da lahko vse težave odpravite zdaj. Naložite to preskusno kodo (ne pozabite izbrati pravilne plošče in vrat iz Orodja > Odbor in Orodja > Pristanišče meniji):

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

Če ste spremenili vezje, boste morda morali spremeniti nožice.

Ko naložite, odprite serijski monitor ( zgoraj desno > Serijski monitor ). Eden za drugim pritisnite vsak gumb. Videti bi morali, da serijski monitor prikazuje številko gumba, ki ste ga pritisnili. Tako kot pri LED, če se vaš računalnik pritožuje, da črpa prevelik tok, ali pa LED lučke ugasnejo, ko pritisnete gumb, ga takoj prekinite! Nekje v vezju imate kratek stik, dvakrat preverite, ali je vezje pravilno in da med povezavami ni kratkih stikov.

Če vse deluje, nadaljujte in vstavite vezje v škatlo. Za pritrditev vezja boste morda želeli uporabiti kanček lepila (čeprav so bile moje žice v redu). Privijte tudi pokrov.

Videti, da je Arduino tipkovnica, je zelo preprosto. Če uporabljate Nano ali UNO, boste svoj Arduino znova programirali Posodobitev vdelane programske opreme naprave (DFU). To se običajno uporablja za vstavljanje nove vdelane programske opreme v Arduino. Uporabili ga boste za utripanje Arduina z novo vdelano programsko opremo, zaradi katere bo deloval kot tipkovnica. To tukaj ne bo obravnavano, saj je to precej kompleksna naloga. The Spletno mesto Arduino za to ima dobro vadnico.

Arduino Pro Micro zelo olajša ta korak. Logika, ki je potrebna za posnemanje tipkovnice USB, je že vgrajena v procesor, zato je tako preprosto, kot da napišete kodo!

Najprej nastavite tipke:

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

To je matrika, ki vsebuje vse zatiče, s katerimi so gumbi povezani. Če ste uporabili več ali manj gumbov ali uporabili različne zatiče, tukaj spremenite vrednosti.

Niz je zbirka podobno mislečih stvari. Računalniki lahko optimizirajo vašo kodo za hiter dostop do njih in pospešijo proces pisanja kode.

Zdaj inicializirajte vse zatiče kot vhode:

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 pove Arduinu, da so vsi zatiči v nizu vhodi. Za to se uporablja zanka, namesto pisanja pinMode (2, VHOD) devetkrat, napisati ga morate le enkrat. To tudi kliče Tipkovnica.začetek . S tem se nastavi funkcija, vgrajena v knjižnico Arduino, zasnovana posebej za posnemanje tipkovnice.

Ustvarite metodo, imenovano readButton :

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

Ta vzame pin in preveri, ali je bil pritisnjen ali ne. Preprosto se vrne PRAV ali LAŽNO . Vsebuje tudi nekaj odprava programske opreme -preprosta zamuda in nato ponovno preverjanje stikala zagotovi, da je bil gumb res pritisnjen.

Zdaj se v notranjosti pokliče še ena zanka for void loop () :

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

Ponovno gre to čez vse elemente v matriki in preveri, ali je bil pritisnjen. To počne tako, da se imenuje readButton način, ki ste ga ustvarili prej. Če je bil gumb pritisnjen, ta številka pin posreduje drugi imenovani metodi 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;
}
}

To preveri številko pin z a stikalo izjavo. Preklopi izjave (včasih imenovane stikalno ohišje ) so podobni an če izjave, vendar so uporabne za preverjanje, ali je ena stvar (v tem primeru številka pin) enaka enemu od več različnih rezultatov. V bistvu jih je veliko hitreje izračunati.

Glavne komponente so znotraj izjave o stikalu. Keyboard.println zapisuje besedilo v računalnik, kot da bi fizično vnesli vsak ključ. Keyboard.press pritisne in zadrži eno tipko. Ne pozabite jih sprostiti z uporabo Keyboard.releaseAll po kratki zamudi!

kako izbrisati uporabnike na ps4

Tu je celotna koda:

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

Poleg vseh tipk s številkami in črkami lahko Arduino pritisne tudi večino posebnih klicanih tipk Modifikatorji tipkovnice . To je še posebej uporabno za pritiskanje bližnjic na tipkovnici. Spletno mesto Arduino ima koristen seznam .

Zdaj ostane le še ustvarjanje bližnjic. To lahko preslikate v obstoječe bližnjice, kot je npr Vse + F4 (zaprite program v sistemu Windows) oz Cmd + Vprašanje (zaprite program macOS). Druga možnost je, da preberete našo najboljši priročnik za bližnjice na tipkovnici , kako ustvariti bližnjice v sistemu Windows in vsako bližnjico Chromebooka za začetek ustvarjanja lastnih bližnjic.

Ste ustvarili lastno polje za bližnjice? Sporočite mi v komentarjih, rad bi videl nekaj slik!

Upamo, da so vam predmeti, ki jih priporočamo in razpravljali, všeč! MUO ima pridružena in sponzorirana partnerstva, zato od nekaterih vaših nakupov prejemamo del prihodka. To ne vpliva na ceno, ki jo plačate, in nam pomaga ponuditi najboljša priporočila za izdelke.

Deliti Deliti Cvrkutati E-naslov Tukaj je razlog, zakaj je FBI izdal opozorilo za panjsko odkupno programsko opremo

FBI je izdal opozorilo o še posebej grdi vrsti odkupne programske opreme. Evo, zakaj morate biti še posebej previdni pri odkupni programski opremi Hive.

Preberite Naprej
Sorodne teme
  • DIY
  • Tipkovnica
  • Bližnjice na tipkovnici
  • Arduino
O avtorju Joe Coburn(136 objavljenih člankov)

Joe je diplomiral iz računalništva na Univerzi v Lincolnu v Veliki Britaniji. Je poklicni razvijalec programske opreme in ko ne leti z brezpilotnimi letali ali ne piše glasbe, ga pogosto najdejo pri fotografiranju ali ustvarjanju videoposnetkov.

Več od Joea Coburna

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e -knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite
Kategorija Diy