Mainos

Nöyrä Arduino voi tehdä paljon asioita, mutta tiesitkö, että se voi jäljitellä USB-näppäimistöä? Voit yhdistää ne vaikeasti muistettavat pitkät pikanäppäimet yhteen mukautettuun pikanäppäimeen tällä yksinkertaisella piirillä. Tässä on lopputulos:

Koskaan käyttänyt Arduinoa aikaisemmin? Katso meidän aloitusopas Arduinon aloittaminen: Aloittelijan opasArduino on avoimen lähdekoodin elektroniikan prototyyppialusta, joka perustuu joustavaan, helppokäyttöiseen laitteistoon ja ohjelmistoon. Se on tarkoitettu taiteilijoille, suunnittelijoille, harrastajalle ja kaikille, jotka ovat kiinnostuneita luomaan interaktiivisia esineitä tai ympäristöjä. Lue lisää ensimmäinen.

Mitä tarvitset

Arduino Oikotie osat
Tässä on mitä sinun täytyy tehdä tämä projekti:

  • 1 x Arduino Pro Micro.
  • Välitön painikkeet tai näppäimistön painikkeet.
  • 10 K ohm vastukset.
  • Valikoima kytkentäjohdot.
  • 1 x 220 ohmin vastukset.
  • 1 x 5 mm (0,197 tuumaa) LED.
  • 1 x 5 mm LED-pidike.

Tarvitset erittäin tarkan Arduinon tähän projektiin. Käytän Pro Micro, koska ne ovat niin pieniä ja halpoja, tarvitset Arduinon, jossa on prosessoriin sisäänrakennettu USB-sarja (Atmega32u4). Tämä projekti on mahdollista rakentaa muiden Arduinojen, kuten UNO: n tai Nanon, kanssa, mutta se vaatii paljon kovaa työtä biosäteilyn vilkkuttamiseksi ja viihdyttämiseksi saadaksesi asiat toimimaan. Muiden Arduino-mallien kloonit eivät yleensä toimi ollenkaan, mutta myös Pro Micro -klooni on hieno.

OSOYOO Pro Micro ATmega32U4 5V / 16MHz moduulilevy 2 rivinastaisella otsikolla arduino Leonardo Vaihda ATmega328 Pro MiniOSOYOO Pro Micro ATmega32U4 5V / 16MHz moduulilevy 2 rivinastaisella otsikolla arduino Leonardo Vaihda ATmega328 Pro Mini Osta nyt Amazonista $10.99

Tarvitset yhden hetkellisen painikkeen, yhden 10 kt ohmin vastuksen ja asianmukaisen kytkentäjohdon jokaiselle käytettävälle painikkeelle. Käytän tosiasiallisissa pikapainikkeissa kuitenkin Cherry MX -mekaanisia näppäimistökytkimiä minkä tahansa kytkin tekee, jos se on hetkellinen eikä lukkiudu.

Saatat tarvita muutama muu esine riippuen siitä, kuinka rakennat tämän. Jos haluat prototyypin siitä, tarvitset juotoston leipälauta. Rahat kannattaa käyttää hyvälle - ne voivat joskus olla erittäin epäluotettavia. Jos haluat merkitä tämän, haluat ostaa jonkin verran levyä.

Rakenna suunnitelma

Näin tämä toimii. Arduino ohjelmoidaan toimimaan kuten USB-näppäimistö - tietokoneesi suhteen se on. Useat Arduinoon kytketyt painikkeet lähettävät näppäinkomentoja tietokoneellesi. Painat vain yhtä painiketta, mutta tietokoneesi luulet painanneesi alt > F4, esimerkiksi.

Kytkimen valitseminen

Arduino Cherry MX

MX-sarjan kytkimissä on useita muunnelmia. Tämä verkkosivusto tarjoaa erinomaisen johdannon, mutta ne ovat pääosin melun ja paineen alaisia. Jotkut mallit vaativat enemmän voimaa painettaessa, ja jotkut mallit antavat mekaanisen napsautusäänen painettaessa. Olen käyttänyt Cherry MX Browns -tuotteita, jotka eivät aiheuta melua, kun niitä painetaan. Ne ovat kaikki samoja ulottuvuuksia, joten valitse haluamasi malli (tai sekoita ja sovi) huoletta.

Sinun on tietenkin myös ostettava joitain näppäinlippuja, ja siellä on maailmaa räätälöityjä malleja siellä valita - ostimme KeyboardCo Isossa-Britanniassa

Tapaus

Olen tulostanut 3D-tapauksen asiasta, ja voit ladata STL tiedostot Thingiverse. Älä huolestu, jos sinulla ei ole 3D-tulostinta, voit silti rakentaa tämän. Monet sivustot tarjoavat 3D-tulostuspalveluita, kuten 3D-navat tai Shapeways. Vaihtoehtoisesti tämä on hyvin yksinkertainen tapaus, voit tehdä omat muovista, perspexistä, puusta tai jopa pahvista. Jos haluat olla todella säästäväinen, Cherry MX myy kytkintesteri / näytteenottaja asetettu päälle Amazon (UK). Tarvitset 4 M5 x 35 mm pulttia ja 4 M5 mutteria. Voit tietysti korvata nämä sopivalla vaihtoehdolla.

Max näppäimistön näppäinlukko, Cherry MX -kytkin, testaajapaketti (9 kytkimen Pro-näytteenottimen testaajapaketti)Max näppäimistön näppäinlukko, Cherry MX -kytkin, testaajapaketti (9 kytkimen Pro-näytteenottimen testaajapaketti) Osta nyt Amazonista $14.99

Jos teet oman tapauksesi, on yksi tärkeä yksityiskohta, joka sinun on tiedettävä: Cherry MX -kytkimet ovat työntöasennus kiinnitysreikiin. Ne vaativat 14 x 14 mm (0,551 tuumaa) neliöasennusreiän, levyn ollessa enintään 1,5 mm (0,059 tuumaa) paksumpi. Harjaa liian kaukana näistä mitoista, ja kytkimet eivät ehkä enää asennu oikein.

Oikotie
3D-tulostettu kotelo on jaettu kahteen osaan, yläosa ja alaosa. Työnnä Cherry MX -kytkimet neliönreikiin:

Oikotie Cherry MX Mount

Varmista, että asennat kytkimet oikein päin. Yläosassa on sanat “KIRKAS” ja alaosassa on pieni lovi. Aseta 3 mm: n LED-valo tähän pieneen paikkaan:

Oikotie Cherry MX LED

Saatat huomata, että LEDit näyttävät parhaiten asennettuna "ylösalaisin". Näin oli käytetyissä näppäinkansissa, eikä se vaikuta kytkimiin ollenkaan.

Sinulla pitäisi olla nyt yhdeksän kytkintä, joissa on 9 LEDiä. Mitään näistä osista ei tarvitse liimata. Juote pitää LED-valot ja kitka pitävät kytkimet.

Oikotie Cherry MX All

Kierrä seuraavaksi LED-pidike kiinni (jätä LED nyt pois.) Valmistat tapauksen kokoamisen myöhemmin, kun piiri on rakennettu.

Piiri

Tämä piiri on rakennettu nauhalevylle. Tämä sopii erinomaisesti puolipysyvien piirien rakentamiseen ilman piirilevyn (PCB) kustannuksia. Se on yksinkertaisesti pala lasikuitua ja kupariraiteet kulkevat yhdensuuntaisesti yhteen suuntaan. Nämä kappaleet voidaan juottaa sekä katkaista. Radan leikkaaminen voidaan tehdä erikoistyökalulla tai pienellä poranterällä.

Etkö ole liian luottavainen juottamisessa? Katso nämä yksinkertaiset projektit Opi juottamaan näiden yksinkertaisten vinkkien ja projektien avullaOletko pelotella sinua hieman ajatuksesta kuumasta raudasta ja sulasta metallista? Jos haluat aloittaa työskentelyn elektroniikan kanssa, sinun on opittava juottamaan. Autamme meitä. Lue lisää ensimmäinen.

Tässä on levytaulun asettelu (pois lukien takajohdot):

Arduino Shortcut Stripboard

Varmista, että olet leikannut jäljet ​​vastuksien ja Arduinon alle. Koska levylevyn piirin lukeminen voi olla erittäin vaikeaa, tässä on leipälautaversio:

Arduino Shortcut Breadboard

Kaikkien komponenttien puristaminen niin pieneen tilaan on tiukka. Leikkaa lehtiötaulun kulmat seuraavasti:

Pikakuvake Levytaulu

Tämän tulisi sopia siististi kotelon pohjaan:

Oikotielevy laatikossa

Varmista, että raidat kulkevat pystysuunnassa.

Kytke anodi (pitkä jalka, positiivinen) LEDistä 200 ohmin vastukseen ja sitten +5 V. Yhdistä katodi (lyhyt jalka, negatiivinen) laittaa kotiarestiin. Peitä jalat lämpö kutisteholkilla ja työnnä sitten LED-pidikkeeseen. Liimaa ei tarvita, mutta LED-pidike ei välttämättä ole push-fit, joten sinun on ehkä mukautettava nämä ohjeet.

Oikotien tilan merkkivalo

Voit käyttää tässä sijaan kaksiväristä LEDiä - tämä antaa sinun asettaa kaksi tai useampia kytkinpankkeja, joissa kullakin pankilla on erilainen värillinen tilan merkkivalo.

Nyt on aika juottaa kaikki näppäimistön LEDit. Niitä käytetään vain näppäimien hehkuvaan käyttöön, joten voit ohittaa ne halutessasi. Niiden ei tarvitse olla kytkettynä digitaaliseen nastaan, vaan vain virtalähteeseen. Yhdistä kaikki anodit ja kaikki katodit toisiinsa. Opi virheestäni - se on paljon helpompaa tehdä ennen kytkinten kytkemistä! Kytke anodit +5 V: seen 220 ohmin vastuksella ja katodit maadoitetaan. Nämä LEDit on johdotettu samanaikaisesti. Tässä on vain näiden merkkivalojen piiri:

Oikopolkupainikkeen LED-piirit

Peitä LED-valojen ja Arduinon välinen yhteys pienellä kappaleella lämpö kutistuvaa letkua:

Oikotie LED-lämmitin

Käynnistä Arduino testataksesi kaikkien ledien toimintaa. Sinun ei tarvitse ladata mitään koodia. Jos mikään LED ei toimi, tarkista johdotus vielä kerran.

Oikotie LED-testaus

Kytke nyt kytkimet. Nämä on kytkettävä 10 k: n vastuksen kautta, muuten arduino kuolee. Tätä kutsutaan kuolleeksi lyhyeksi - +5 V menee suoraan maahan, ja kaikki Arduinostasi jäävä on savupussi (luota minuun, tappoin jo yhden, joten sinun ei tarvitse tehdä). Tässä on yhden kytkimen piiri:

Arduino-oikotie

Tämä piiri on sama kaikille yhdeksälle kytkimelle. Kytke kytkimet digitaalisiin nastaihin kahdesta kymmeneen, jokaisella on oma 10K: n vastus maahan. Ole varovainen juottamalla Cherry MX -kytkimiä, ne voivat olla hieman hauraita, minulla oli useita nastaa. Voit juottaa nämä suoraan joihinkin muihin levyihin, mutta takajohdot ovat silti sopivia.

Se on se johdotukseen. Voit halutessasi asentaa tyypin B USB-pistorasian, mutta niiden pienet nastat voivat usein olla melko vaikeita juottaa. Jos et halua tehdä tätä, älä huolestu. Arduinon Micro USB -liitin sopii hyvin rungon reikään. Jos olet hämmentynyt erilaisista USB-tyypeistä, varmista, että olet ymmärtää erot Ymmärrä USB-kaapelityypit ja käytettävä kaapeliMiksi USB-kaapelityyppejä on niin paljon? Opi eroja USB-liittintyyppien välillä ja kuinka ostaa paras kaapeli. Lue lisää .

Tarkista lopuksi, että piiri on oikein. Lyhyt voi helposti tuhota Arduinon, ja se voi olla helppo tehdä nauhalevyllä.

Koodi

Testaa nyt piiri on oikein. On hyvä idea tehdä tämä ennen jatkamista, jotta voit korjata ongelmat nyt, kun pystyt. Lataa tämä testikoodi (älä unohda valita oikea kortti ja portti Työkalut > lauta ja Työkalut > portti valikot):

const int-painikkeet [] = {2,3,4,5,6,7,8,9,10}; // kaikkien painikkeiden nastat void setup () {// laita asennuskoodi tähän, ajaaksesi kerran: 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 () {// laita pääkoodisi tänne suorittaaksesi toistuvasti: varten (int i = 2; i <11; ++ i) {if (digitalRead (i) == HIGH) {// ohjelmiston poistuminen parantaa tarkkuusviivettä (10); if (digitalRead (i) == HIGH) {// tarkista kytkimet Serial.print ("input"); Serial.println (i); viive (250); } } } }

Saatat joutua vaihtamaan tapit, jos olet muuttanut piiriä.

Kun olet ladannut, avaa sarjamonitori (Yläoikea > Sarjamonitori). Paina yksi kerrallaan jokaista painiketta. Sinun pitäisi nähdä sarjamonitorin näyttävän painetun painikkeen numero. Aivan kuten LED-merkkivalo, jos tietokone valittaa liian suuren virrankulutuksesta tai jos LED-valot sammuvat, kun painat painiketta, irrota heti! Piiri on jonkin verran piirissä, tarkista, että piiri on oikein, eikä yhteyksien välillä ole ovia.

Jos kaikki toimii, mene eteenpäin ja laita piiri laatikkoon. Voit halutessasi käyttää liimaa, jotta piiri pysyy paikoillaan (vaikka johdot pitivätkin minun kunnolla). Kiinnitä myös kansi.

Arduinon näyttäminen näppäimistöksi on hyvin yksinkertaista. Jos käytät nanoa tai UNO: ta, aiot ohjelmoida Arduinon uudelleen käyttämällä Laitteen laiteohjelmiston päivitys (DFU). Tätä käytetään yleensä uuden laiteohjelmiston salaamiseen Arduinolle. Aiot käyttää sitä salamaamaan Arduinoa uudella laiteohjelmistolla, joka saa sen toimimaan kuin näppäimistö. Tätä ei käsitellä tässä, koska se on melko monimutkainen tehtävä. Arduinon verkkosivusto on hyvä opetusohjelma tähän.

Arduino Pro Micro tekee tämän vaiheen erittäin helpoksi. USB-näppäimistön emulointiin tarvittava logiikka on jo sisäänrakennettu prosessoriin, joten se on niin yksinkertaista kuin koodin kirjoittaminen!

Asenna ensin näppäimet:

int-näppäimet [] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

Tämä on taulukko, joka sisältää kaikki nastat, joihin painikkeet on kytketty. Jos olet käyttänyt enemmän tai vähemmän painikkeita tai eri tappeja, muuta arvot täällä.

Ryhmä on kokoelma samanhenkisiä asioita. Tietokoneet voivat optimoida koodisi käyttääksesi niitä nopeasti, ja ne nopeuttavat koodin kirjoittamista.

Alusta kaikki nastat tuloiksi:

void setup () {// laita asennuskoodi tähän, suorittaaksesi kerran: Keyboard.begin (); // asennusnäppäimistö (int i = 2; i <11; ++ i) {// aloita nastat pinMode (i, INPUT); } }

Tämä kertoo Arduinolle, että kaikki taulukon nastat ovat tuloja. Silmukka käytetään tähän, joten kirjoittamisen sijasta pinMode (2, INPUT) yhdeksän kertaa, sinun on kirjoitettava se vain kerran. Tämä vaatii myös Keyboard.begin. Tämä asettaa Arduino-kirjastoon sisäänrakennetun toiminnon, joka on suunniteltu erityisesti näppäimistön jäljittelemiseksi.

Luo menetelmä nimeltä readButton:

boolean readButton (int-pin) {// tarkistus- ja poistopainikkeet, jos (digitalRead (pin) == KORKEA) {viive (10); if (digitalRead (pin) == KORKEA) {return true; }} palauttaa vääriä; }

Tämä vie tapin ja tarkistaa, onko sitä painettu. Se vain palaa TOTTA tai VÄÄRÄ. Se sisältää myös joitain ohjelmiston poisto - Yksinkertainen viive ja sen jälkeen kytkimen tarkistaminen varmistaa, että painiketta todella painetaan.

Nyt toinen silmukka kutsutaan sisällä tyhjä silmukka ():

void loop () {// laita pääkoodi tähän ajaaksesi toistuvasti: for (int i = 2; i <11; ++ i) {// tarkista painikkeet, jos (readButton (i)) {doAction (i); } } }

Tämä taas menee taulukon jokaisen elementin yli ja tarkistaa, onko sitä painettu. Se tekee tämän kutsumalla readButton aiemmin luomasi menetelmä. Jos nappia on painettu, se siirtää kyseisen PIN-numeron toiselle menetelmälle, jota kutsutaan doAction:

void doAction (int pin) {// suorita tehtävien kytkin (pin) {tapaus 2: Keyboard.println ("drive.google.com"); tauko; tapaus 3: Keyboard.println ("makeuseof.com"); tauko; tapaus 4: // CMD + T (uusi välilehti, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 't'); viive (100); Keyboard.releaseAll (); tauko; tapaus 5: // sinun tehtäväsi tauko; tapaus 6: // sinun tehtäväsi tauko; tapaus 7: // sinun tehtäväsi tauko; tapaus 8: // sinun tehtäväsi tauko; tapaus 9: // sinun tehtäväsi tauko; } }

Tämä tarkistaa pin-numeron painikkeella a vaihtaa lausuma. Vaihda lausunnot (joskus kutsutaan kytkinlaukku) ovat samanlaisia ​​kuin jos lause, mutta ne ovat hyödyllisiä tarkistettaessa, onko yksi asia (tässä tapauksessa pin-numero) yhtä suuri kuin yksi useista eri tuloksista. Pohjimmiltaan ne ovat paljon nopeampia laskea.

Pääkomponentit ovat tämän kytkinlausekkeen sisällä. Keyboard.println kirjoittaa tekstiä tietokoneelle ikään kuin kirjoittaisit fyysisesti jokaisen näppäimen. Keyboard.press painaa ja pitää yhtä näppäintä. Älä unohda vapauttaa niitä käyttämällä Keyboard.releaseAll lyhyen viiveen jälkeen!

Tässä on koko koodi:

int-näppäimet [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// laita asennuskoodi tähän, suorittaaksesi kerran: Keyboard.begin (); // asennusnäppäimistö (int i = 2; i <11; ++ i) {// aloita nastat pinMode (i, INPUT); } } void loop () {// laita pääkoodisi tänne suorittaaksesi toistuvasti: varten (int i = 2; i <11; ++ i) {// tarkista painikkeet, jos (readButton (i)) {doAction (i); } } } boolean readButton (int-pin) {// tarkistus- ja poistopainikkeet, jos (digitalRead (pin) == KORKEA) {viive (10); if (digitalRead (pin) == KORKEA) {return true; }} palauttaa vääriä; } tyhjä doAction (int-pin) {// suorita tehtävät kytkin (pin) {tapaus 2: Keyboard.println ("drive.google.com"); tauko; tapaus 3: Keyboard.println ("makeuseof.com"); tauko; tapaus 4: // CMD + T (uusi välilehti, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 't'); viive (100); Keyboard.releaseAll (); tauko; tapaus 5: // sinun tehtäväsi tauko; tapaus 6: // sinun tehtäväsi tauko; tapaus 7: // sinun tehtäväsi tauko; tapaus 8: // sinun tehtäväsi tauko; tapaus 9: // sinun tehtäväsi tauko; } }

Kaikkien numero- ja kirjainnäppäinten lisäksi Arduino voi painaa suurimman osan kutsuttavista erikoisnäppäimistä Näppäimistön muokkaimet. Nämä ovat erityisen hyödyllisiä painettaessa pikanäppäimiä. Arduinon verkkosivustolla on hyödyllinen luettelo.

Nyt kaikki jäljellä on luoda pikakuvakkeita. Voit kartoittaa tämän olemassa oleviin pikakuvakkeisiin, kuten alt + F4 (sulje ohjelma Windowsissa) tai cmd + Q (sulje ohjelman macOS). Vaihtoehtoisesti, varmista, että olet lukenut perimmäinen pikavalintaopas Windowsin pikanäppäimet 101: Ultimate GuidePikanäppäimet voivat säästää tunteja aikaa. Hallitse Windowsin yleiset pikanäppäimet, tietyille ohjelmille tarkoitettuja temppuja ja muutamia muita vinkkejä työn nopeuttamiseksi. Lue lisää , kuinka luoda Windows-pikakuvakkeita Kuinka luoda Windowsin työpöydän pikakuvakkeita helpostiÄlykkäät työpöydän pikavalinnat voivat säästää mielettömän valikoiden ja kansioiden selaamisen. Näytämme sinulle nopeita ja helppoja tapoja luoda ne. Lue lisää ja jokainen Chromebook-pikakuvake Jokainen Chromebookin pikanäppäin, jota ikinä tarvitsetHallitse Chrome OS tällä luettelolla jokaisesta tärkeästä Chromebook-näppäimistöstä, jota ikinä tarvitset. Lue lisää aloittaaksesi omien pikakuvien tekemisen.

Oletko luonut oman pikavalintaruudun? Kerro siitä kommentteissa, haluaisin nähdä kuvia!

Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta, Iso-Britannia. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä drooneja tai kirjoita musiikkia, hänet voidaan usein löytää ottamasta valokuvia tai tuottamaan videoita.