Oglas

Skromni Arduino lahko stori veliko stvari, a ste vedeli, da lahko posnema USB tipkovnico? S tem preprostim vezjem lahko združite tiste težko zapomljive dolge bližnjice na tipkovnici v eno samo bližnjico po meri. Tu je končni rezultat:

Nikoli prej niste uporabljali Arduino? Oglejte si naše vodnik za začetek Uvod v Arduino: Vodnik za začetnikeArduino je odprtokodna platforma za izdelavo prototipov za elektroniko, ki temelji na fleksibilni, enostavni strojni in programski opremi. Namenjen je umetnikom, oblikovalcem, hobistom in vsem, ki jih zanima ustvarjanje interaktivnih predmetov ali okolij. Preberi več najprej.

Kaj rabiš

Deli za bližnjice Arduino
Tukaj je tisto, kar morate narediti za ta projekt:

  • 1 x Arduino Pro Micro.
  • Trenutni gumbi ali tipkovnice.
  • 10K ohm uporov.
  • Izbrane žice za povezovanje.
  • 1 x 220 ohm uporov.
  • 1 x 5 mm (0,197 palca) LED.
  • 1 x 5 mm LED držalo.

Za ta projekt boste potrebovali zelo specifičen Arduino. Uporabljam Pro Micro, ker so tako majhni in poceni, potrebujete Arduino, ki ima v procesor vgrajen USB-serijski (Atmega32u4). Ta projekt je možno zgraditi z drugimi Arduinosi, na primer UNO ali Nano, vendar je potrebno veliko trdega dela, da se ponovno razmnožijo biosi in se prepirajo, da bi se stvari lotile dela. Kloni drugih modelov Arduino običajno sploh ne delujejo, a tudi klon Pro Micro je prav tako v redu.

instagram viewer

OSOYOO Pro Micro ATmega32U4 5V / 16MHz modulska plošča z 2 vrvico zatičev za arduino Leonardo Zamenjaj ATmega328 Pro MiniOSOYOO Pro Micro ATmega32U4 5V / 16MHz modulska plošča z 2 vrvico zatičev za arduino Leonardo Zamenjaj ATmega328 Pro Mini Kupite zdaj na Amazonu $10.99

Za vsak gumb, ki ga želite uporabiti, boste potrebovali en trenutni gumb, en upor 10K ohm in ustrezno povezovalno žico. Kljub temu za dejanske tipke bližnjic uporabljam mehanske stikalne tipke Cherry MX kaj stikalo se bo zgodilo, pod pogojem, da je trenutno in ne zaklepa.

Morda boste potrebovali nekaj drugih elementov, odvisno od tega, kako to sestavite. Če ga želite prototipirati, potrebujete a plošča brez spajkanja. Vredno je porabiti denar - včasih so lahko zelo nezanesljivi. Če želite to pospraviti, boste želeli kupiti nekaj trakov.

Načrt zgraditi

Tukaj je opisano, kako bo to delovalo Arduino bo programiran tako, da deluje kot tipkovnica USB - kar se tiče vašega računalnika. Več gumbov, povezanih z Arduino, bo na vaš računalnik poslalo ukaze s ključi. Pritisnite samo en gumb, vendar bo računalnik mislil, da ste pritisnili Alt > F4na primer.

Izbira stikala

Arduino Cherry MX

Obstaja več različic stikal MX. Ta spletna stran zagotavlja odličen uvod, vendar se v bistvu spuščajo na hrup in pritisk. Nekateri modeli potrebujejo več sile za pritisk, nekateri modeli pa ob pritisku oddajo mehanski zvok. Uporabil sem rjava Cherry MX, ki ob pritisku ne ustvarjajo hrupa. Vsi so enakih dimenzij, zato brez skrbi izberite katerikoli model, ki vam je všeč (ali mešajte in ujemajte).

Seveda boste morali kupiti tudi nekaj ključnih pokrovčkov, in tam je svet po meri modelov tam lahko izbiramo - od tega smo kupili KeyboardCo v Veliki Britaniji.

Primer

Tiskalnik sem 3D natisnil in ga lahko prenesete .STL datoteke iz Stvarno. Brez skrbi, če nimate 3D tiskalnika, lahko to še vedno sestavite. Številna spletna mesta ponujajo storitve 3D-tiskanja, kot so 3D vozlišča ali Shapeways. Lahko pa gre tudi za zelo preprost primer, ki ga lahko naredite sami iz plastike, perspeksa, lesa ali celo kartona. Če želite biti res varčni, Cherry MX prodaja vklopljen tester / vzorčevalnik Amazonka (UK). Potrebovali boste 4 vijake M5 x 35 mm in 4 matice M5. Seveda jih lahko nadomestite s primerno alternativo.

Max Keycap Keycap, Cherry MX Switch, Tester Kit (9 stikal Pro Sampler Tester Kit)Max Keycap Keycap, Cherry MX Switch, Tester Kit (9 stikal Pro Sampler Tester Kit) Kupite zdaj na Amazonu $14.99

Če izdelujete svoj primer, morate vedeti še eno pomembno podrobnost: stikala Cherry MX so v luknje za pritrditev. Potrebujejo kvadratno namestitveno luknjo 14 x 14 mm (0,551 palca), pri čemer plošča ni debelejša od 1,5 mm (0,059 palca). Oddaljite se od teh dimenzij in vaša stikala morda ne bodo več pravilno nameščena.

Primer za bližnjice
3D natisnjeno ohišje je iz dveh delov, na vrhu in na dnu. Stikala Cherry MX potisnite v kvadratne luknje:

Bližnjica Cherry MX Mount

Prepričajte se, da stikala pravilno namestite. Na vrhu je napis "CHERRY", na dnu pa je malo zareza. V to majhno režo vstavite 3 mm LED:

Bližnjica LED Cherry MX

Morda boste ugotovili, da svetleče diode izgledajo najbolje nameščene "na glavo". To je veljalo za tipkovnice, ki sem jih uporabljal, in na stike sploh ne vplivajo.

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

Bližnjica Cherry MX All

Nato privijte LED nosilec (LED zaenkrat pustite odstranjen). Kovček boste končali pozneje, ko bo vezje zgrajeno.

Krog

To vezje je vgrajeno na traku. To je odlično za gradnjo pol-trajnih vezij brez stroškov tiskalne plošče (PCB). To je preprosto kos steklenih vlaken z bakrenimi gosenicami, ki potekajo vzporedno v eno smer. Te skladbe je mogoče spajkati in rezati. Rezanje proge se lahko izvede s posebnim orodjem ali majhnim svedrom.

Niste preveč samozavestni pri spajkanju? Oglejte si ti preprosti projekti Naučite se spajkanja s temi preprostimi nasveti in projektiVas je malce ustrašila misel na vroče železo in staljeno kovino? Če želite začeti delati z elektroniko, se boste morali naučiti spajkati. Pomagajmo si. Preberi več najprej.

Tu je naslednja postavitev traku (brez izhodnih vodov):

Arduino trak za bližnjice Arduino

Poskrbite, da boste odrezali sledi pod upori in Arduino. Ker je branje vezja na traku zelo težko, je tu različica tabele:

Arduino deska za bližnjice

Trdno je, da vse sestavne dele stisnete v tako majhen prostor. Izrežite vogale svoje plošče na naslednji način:

Bližnjica na bližnjici

Ta naj se lepo prilega dnu ohišja:

Bližnjica na bližnjici v polju

Poskrbite, da se skladbe izvajajo navpično.

Priključite anodo (dolga noga, pozitivna) LED diode do upora 200 ohm in nato na +5 V. Priključite katodo (kratka noga, negativna) na tla. Noge pokrijte s toplotno skrčenimi rokavi in ​​nato potisnite v LED držalo. Lepila ni potrebno, vendar vaš LED nosilec morda ni primeren, zato boste morda morali prilagoditi ta navodila.

LED indikator stanja

Tukaj boste morda želeli uporabiti dvobarvno LED - to vam bo omogočilo nastavitev dveh ali več bank stikal z različnimi barvnimi LED za stanje vsake banke.

Zdaj je čas, da spajkate vse svetleče diode za tipkovnice. Uporabljajo se izključno za to, da tipke svetijo, zato jih lahko preskočite, če želite, in jih ni treba priključiti na digitalni pin, samo napajanje. Vse anode povežite skupaj in vse katode skupaj. Naučite se iz moje napake - veliko lažje je to storiti, preden ožičite stikala! Anode priključite na +5 V z uporom 220 ohm, katode pa na ozemljitev. Te LED so vzporedno ožičene. Tukaj je vezje samo za te LED:

Vezje LED gumbov za bližnjico

Uporabite majhen kos toplotno skrčene cevi, da pokrijete povezavo med LED in Arduino:

Bližnjica LED Heatshrink

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

Bližnjica LED testiranje

Zdaj priključite stikala. Te morajo biti povezane prek 10 k upornika, sicer bo Arduino umrl. Temu se reče mrtva kratka - +5 V gre direktno v zemljo in vse, kar ostane od vašega Arduinoja, bo puhast dim (verjemite mi, enega sem že ubil, da vam ne bo treba). Tu je vezje za eno stikalo:

Arduino vezje za bližnjice

To vezje je enako za vseh devet stikal. Stikala povežite z digitalnimi zatiči dva do deset, vsaka s svojim 10K uporom na tla. Bodite previdni pri spajkanju Cherry MX stikal, lahko so nekoliko krhki, imel sem na sebi več nožic. Morda jih boste želeli spajkati neposredno na več trakov, vendar so še vedno primerni zadnji vodi.

To je to za ožičenje. Morda boste želeli namestiti USB vtičnico tipa B, vendar je drobne nožice na njih pogosto težko spajkati. Če tega ne želite storiti, ne skrbite. Micro USB priključek na Arduino se lepo prilega luknji v ohišju. Če ste nekoliko zmedeni glede različnih vrst USB, se prepričajte razumeti razlike Razumevanje vrst USB kablov in koga uporabitiZakaj obstaja toliko različnih USB kablov? Naučite se razlike med vrstami priključkov USB in kako kupiti najboljši kabel. Preberi več .

Končno še enkrat preverite, ali je vezje pravilno. Arduino kratek lahko enostavno uniči, z uporabo trakoma pa je enostavno.

Kodeks

Sedaj preverite, da je vezje pravilno. Dobro je, da to storite, preden nadaljujete, tako da lahko odpravite morebitne težave zdaj, ko lahko. Prenesite to preskusno kodo (ne pozabite izbrati pravilne plošče in vrat na Orodja > Odbor in Orodja > Pristanišče meniji):

const int gumbi [] = {2,3,4,5,6,7,8,9,10}; // matrika vseh zatičev gumbov void setup () {// tu postavite svojo nastavitveno kodo, da se zažene enkrat: 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 () {// tu dodajte svojo glavno kodo, da se zažene večkrat: for (int i = 2; i <11; ++ i) {if (digitalRead (i) == HIGH) {// odprava programske opreme izboljša zakasnitev natančnosti (10); if (digitalRead (i) == HIGH) {// preverite stikala Serial.print ("vhod"); Serial.println (i); zamuda (250); } } } }

Morda boste morali spremeniti zatiče, če ste spremenili vezje.

Ko je naložen, odprite serijski monitor (zgoraj desno > Serijski monitor). Pritisnite enega za drugim. Videti bi morali, da serijski monitor prikazuje številko gumba, ki ste ga pritisnili. Tako kot pri LED, če se vaš računalnik pritožuje zaradi prevelikega toka ali LED diode ugasnejo, ko pritisnete gumb, takoj izklopite! Nekje v tokokrogu imate kratek stik, dvakrat preverite, ali je vezje pravilno in med priključki ni nobenih kratkih hlač.

Če vse deluje, pojdite naprej in vstavite vezje v škatlo. Morda boste želeli uporabiti pip lepila, da vezje drži na mestu (čeprav so žice v redu). Prav tako privijte pokrov.

Če želite videti, da je Arduino tipkovnica, je zelo preprosto. Če uporabljate Nano ali UNO, boste Arduino znova programirali z uporabo Posodobitev vdelane programske opreme naprave (DFU). Običajno se uporablja za vstavljanje nove strojne programske opreme na Arduino. Z njim boste Arduino bliskali z novo programsko opremo, ki bo delovala kot tipkovnica. Tukaj to ne bo zajeto, saj gre za precej zapleteno nalogo. The Spletna stran Arduino za to ima dobro vadnico.

Arduino Pro Micro naredi ta korak zelo enostavno. Logika, ki je potrebna za posnemanje tipkovnice USB, je že vgrajena v procesor, tako da je preprosto kot pisanje neke kode!

Najprej nastavite tipke:

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

To je niz, ki vsebuje vse zatiče, na katere so gumbi povezani. Če ste uporabili več ali manj gumbov ali uporabljali različne zatiče, tukaj spremenite vrednosti.

Niz je skupek podobno mislečih stvari. Računalniki lahko optimizirajo vašo kodo, da hitro dostopa do njih, in pospešijo postopek pisanja kode.

Zdaj inicializirajte vse nožice kot vhode:

void setup () {// tu postavite svojo nastavitveno kodo, da se zažene enkrat: Keyboard.begin (); // nastavitvena tipkovnica za (int i = 2; i <11; ++ i) {// zaženite zatiči pinMode (i, INPUT); } }

To Arduinu pove, da so vsi zatiči v matriki vhodi. Za to se uporablja zanka, ne pa pisanje pinMode (2, INPUT) devetkrat ga morate napisati samo enkrat. Tudi to kliče Keyboard.begin. To nastavi funkcijo, vgrajeno v knjižnico Arduino, zasnovano posebej za posnemanje tipkovnice.

Ustvari metodo imenovano preberiteButton:

boolean readButton (int pin) {// gumba za preverjanje in razveljavitev if (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} vrni napačno; }

To vzame zatič in preveri, ali je bilo pritisnjeno ali ne. Preprosto se vrne PRAV ali LAŽNO. Vsebuje jih tudi nekaj razgrnitev programske opreme - preprosta zamuda in ponovno preverjanje stikala zagotavlja, da je bil gumb resnično pritisnjen.

Zdaj se v notranjosti imenuje še ena zanka void zanka ():

void loop () {// tukaj dodajte svojo glavno kodo, da se zažene večkrat: for (int i = 2; i <11; ++ i) {// potrditveni gumbi, če (readButton (i)) {doAction (i); } } }

Ponovno gre to čez vsak element v matriki in preveri, ali je bil pritisnjen. To stori s klicem preberiteButton način, ki ste ga ustvarili prej. Če je bil pritisnjen gumb, prenese to številko številke na drugo metodo, imenovano doAction:

void doAction (int pin) {// izvajati naloge switch (pin) {case 2: Keyboard.println ("drive.google.com"); odmor; 3. primer: Keyboard.println ("makeuseof.com"); odmor; primer 4: // CMD + T (nov zavihek, Chrome) Keyboard.press (KEY_LEFT_GUI); Tipkovnica.press ('t'); zamuda (100); Keyboard.releaseAll (); odmor; primer 5: // vaša naloga tukaj prelomi; primer 6: // vaša naloga tukaj prelomi; primer 7: // vaša naloga tukaj prelomi; primer 8: // vaša naloga tukaj prelomi; primer 9: // vaša naloga tukaj prelomi; } }

Ta preveri številko PIN-a s pomočjo stikalo izjava. Zamenjajte izjave (včasih jih kličemo ohišje stikala) so podobni an če Izjava, 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 te izjave o stikalu. Tipkovnica.println napiše besedilo v računalnik, kot da bi fizično vtipkali vsako tipko. Keyboard.press pritisne in drži eno tipko. Ne pozabite jih sprostiti z uporabo Keyboard.releaseAll po krajšem zamiku!

Tu je celotna koda:

int tipke [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// tu postavite svojo nastavitveno kodo, da se zažene enkrat: Keyboard.begin (); // nastavitvena tipkovnica za (int i = 2; i <11; ++ i) {// zaženite zatiči pinMode (i, INPUT); } } void loop () {// tu dodajte svojo glavno kodo, da se zažene večkrat: for (int i = 2; i <11; ++ i) {// potrditveni gumbi, če (readButton (i)) {doAction (i); } } } boolean readButton (int pin) {// gumbi za preverjanje in razveljavitev if (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} vrni napačno; } void doAction (int pin) {// izvedba opravil preklopi (pin) {primer 2: Keyboard.println ("drive.google.com"); odmor; 3. primer: Keyboard.println ("makeuseof.com"); odmor; primer 4: // CMD + T (nov zavihek, Chrome) Keyboard.press (KEY_LEFT_GUI); Tipkovnica.press ('t'); zamuda (100); Keyboard.releaseAll (); odmor; primer 5: // vaša naloga tukaj prelomi; primer 6: // vaša naloga tukaj prelomi; primer 7: // vaša naloga tukaj prelomi; primer 8: // vaša naloga tukaj prelomi; primer 9: // vaša naloga tukaj prelomi; } }

Poleg vseh tipk s številkami in črkami lahko Arduino pritisne na večino poklicanih posebnih tipk Modifikatorji tipkovnice. Te so še posebej uporabne za pritisk na bližnjice na tipkovnici. Spletno mesto Arduino ima koristen seznam.

Zdaj je vse, kar preostane, ustvariti nekaj bližnjic. To lahko preslikate na obstoječe bližnjice, na primer Alt + F4 (zaprete program v operacijskem sistemu Windows) ali Cmd + V (zapusti program macOS). Druga možnost je, da preberete naše končni vodnik za bližnjice na tipkovnici Bližnjice na tipkovnici Windows 101: Ultimate GuideBližnjice na tipkovnici vam lahko prihranijo nekaj časa. Obvladite univerzalne bližnjice na tipkovnici Windows, trike s tipkovnico za določene programe in nekaj drugih nasvetov za pospešitev svojega dela. Preberi več , kako ustvariti bližnjice za Windows Kako ustvariti bližnjice na namizju za Windows na preprost načinPametne bližnjice na namizju vam lahko prihranijo nespametno sejanje skozi menije in mape. Pokažemo vam hitre in preproste načine za njihovo ustvarjanje. Preberi več , in vsaka bližnjica Chromebook Vsaka bližnjica na tipkovnici Chromebooka, ki jo boste kdaj potrebovaliObvladite Chrome OS s tem seznamom vseh pomembnih bližnjic na tipkovnici Chromebook, ki jih boste kdaj potrebovali. Preberi več da začnete ustvarjati svoje bližnjice.

Ste ustvarili svoj okvir za bližnjice? Sporočite mi v komentarjih, rada bi videla nekaj slik!

Joe je diplomirani iz računalništva na Univerzi v Lincolnu v Veliki Britaniji. Je profesionalni razvijalec programske opreme, in ko ne leti dronov ali piše glasbe, ga lahko pogosto najdemo pri fotografiranju ali ustvarjanju videov.