Luo omat pikanäppäimet Arduinolla

Luo omat pikanäppäimet Arduinolla

Nöyrä Arduino voi tehdä monia asioita, mutta tiesitkö, että se voi jäljitellä USB -näppäimistöä? Voit yhdistää nämä vaikeasti muistettavat pitkät pikanäppäimet yhdeksi mukautetuksi pikanäppäimeksi tällä yksinkertaisella piirillä. Tässä lopputulos:





Et ole koskaan käyttänyt Arduinoa? Tutustu meidän aloitusopas ensimmäinen.





Mitä tarvitset

Tässä on mitä tarvitset tämän projektin toteuttamiseen:





  • 1 x Arduino Pro Micro.
  • Hetkelliset painikkeet tai näppäimistön painikkeet.
  • 10K ohmin vastukset.
  • Erilaisia ​​kytkentäjohtoja.
  • 1 x 220 ohmin vastukset.
  • 1 x 5 mm (0,197 tuumaa) LED.
  • 1 x 5 mm LED -pidike.

Tarvitset tähän projektiin hyvin tarkan Arduinon. Käytän a Pro Micro , koska ne ovat niin pieniä ja halpoja, tarvitset Arduinon, jossa on suorittimeen sisäänrakennettu USB-sarja (Atmega32u4). On mahdollista rakentaa tämä projekti muiden Arduinojen, kuten UNO: n tai Nanon, kanssa, mutta se vaatii paljon kovaa työtä bios-salaman vilkaisemiseksi ja asioiden saamiseksi toimimaan. Muiden Arduino -mallien kloonit eivät yleensä toimi ollenkaan, mutta myös Pro Micro -klooni on hyvä.

OSOYOO Pro Micro ATmega32U4 5V/16MHz -moduulikortti, jossa on 2 -rivinen nastainen otsikko Korvaa ATmega328 Pro Mini Arduinolle OSTA NYT AMAZONISTA

Tarvitset yhden hetkellisen painikkeen, yhden 10K ohmin vastuksen ja sopivan kytkentäjohdon kullekin painikkeelle, jota haluat käyttää. Käytän kuitenkin Cherry MX -mekaanisia näppäimistökytkimiä varsinaisille pikanäppäimille minkä tahansa kytkin toimii, jos se on hetkellinen eikä lukittu.



Saatat tarvita muutamia muita kohteita riippuen siitä, miten rakennat tämän. Jos haluat prototyypin, tarvitset juotonta leipälautaa . Rahat kannattaa käyttää hyvään - ne voivat joskus olla hyvin epäluotettavia. Jos haluat laatikoida tämän, sinun kannattaa ostaa nauhat.

Rakenna suunnitelma

Näin tämä toimii. Arduino ohjelmoidaan toimimaan kuin USB -näppäimistö - tietokoneesi kannalta se on. Useat Arduinoon yhdistetyt painikkeet lähettävät avainkomennot tietokoneellesi. Voit painaa vain yhtä painiketta, mutta tietokone luulee, että olet painanut sitä Kaikki > F4 , esimerkiksi.





Kytkimen valinta

MX -sarjan kytkimistä on useita muunnelmia. Tämä sivusto tarjoaa erinomaisen johdannon, mutta ne johtuvat pääasiassa melusta ja paineesta. Jotkin mallit vaativat enemmän voimaa painettaessa, ja jotkut mallit antavat mekaanisen napsautuksen. Olen käyttänyt Cherry MX Brownsia, jotka eivät tee ääntä painettaessa. Ne ovat kaikki samankokoisia, joten valitse mikä tahansa malli (tai sekoita) huoletta.

Sinun on tietysti ostettava myös joitakin avainkorkkeja, ja siellä on maailmaa mukautettuja malleja mistä valita - ostimme KeyboardCo Isossa -Britanniassa





Tapaus

Olen tulostanut tämän kotelon 3D -muodossa, ja voit ladata sen .STL tiedostot osoitteesta Thingiverse . Älä huoli, jos sinulla ei ole 3D -tulostinta, voit silti rakentaa tämän. Monet sivustot tarjoavat 3D -tulostuspalveluja, kuten 3D -keskittimet tai Muotoja . Vaihtoehtoisesti tämä on hyvin yksinkertainen tapaus, voit tehdä oman muovista, perspeksistä, puusta tai jopa pahvista. Jos haluat olla todella säästäväinen, Cherry MX myy kytkintesterin/näytteenottimen Amazon ( Iso -Britannia ). Tarvitset 4 M5 x 35 mm ruuvia ja 4 M5 mutteria. Voit tietysti korvata nämä sopivalla vaihtoehdolla.

Max -näppäimistön näppäimistö, Cherry MX -kytkin, testerisarja (9 kytkintä Pro Sampler Tester Kit) OSTA NYT AMAZONISTA

Jos teet oman kotelon, sinun on tiedettävä yksi tärkeä yksityiskohta: Cherry MX -kytkimet kiinnitetään kiinnitysreikiin. Ne vaativat 14 x 14 mm: n (0,551 tuuman) neliönmuotoisen kiinnitysreiän, jonka levy ei saa olla paksumpi kuin 1,5 mm (0,059 tuumaa). Poistu liian kauas näistä mitoista, ja kytkimet eivät ehkä enää asennu oikein.

3D -tulostettu kotelo on kaksiosainen, ylä- ja alaosa. Työnnä Cherry MX -kytkimet neliön muotoisiin reikiin:

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

Saatat huomata, että LEDit näyttävät parhaiten ylösalaisin asennetuilta. Näin oli käyttämilläni näppäimistöillä, eikä se vaikuta kytkimiin ollenkaan.

Sinulla pitäisi nyt olla yhdeksän kytkintä, joissa on 9 LEDiä. Näitä osia ei tarvitse liimata sisään. Juotos pitää LEDit ja kitka pitää kytkimet.

Kierrä seuraavaksi LED -kiinnike paikalleen (jätä LED poistamatta toistaiseksi). Lopetat kotelon kokoamisen myöhemmin, kun piiri on rakennettu.

Piiri

Tämä piiri on rakennettu nauhalle. Tämä sopii erinomaisesti puolipysyvien piirien rakentamiseen ilman piirilevyn (PCB) kustannuksia. Se on yksinkertaisesti lasikuitupala, jossa kuparikiskot kulkevat yhdensuuntaisesti yhteen suuntaan. Nämä raidat voidaan juottaa ja leikata. Rata voidaan leikata erikoistyökalulla tai pienellä poranterällä.

Etkö ole liian luottavainen juotossa? Katso ensin näitä yksinkertaisia ​​projekteja.

Tässä on stripboard -asettelu (ei sisällä johtoja):

Muista leikata jäljet ​​vastusten ja Arduinon alta. Koska stripboard -piirin lukeminen voi olla hyvin vaikeaa, tässä on leipälautaversio:

On tiivis istuvuus puristaa kaikki komponentit niin pieneen tilaan. Leikkaa stripboardin kulmat seuraavasti:

Tämän pitäisi sopia siististi kotelon pohjaan:

Varmista, että raidat kulkevat pystysuunnassa.

Liitä anodi ( pitkä jalka, positiivinen ) LED -valosta 200 ohmin vastukseen ja sitten +5 V.Kytke katodi ( lyhyt jalka, negatiivinen ) laittaa kotiarestiin. Peitä jalat lämpökutistuvalla suojuksella 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äitä ohjeita.

Voit halutessasi käyttää täällä kaksiväristä LED-valoa-voit määrittää kaksi tai useampia kytkinryhmiä, joissa on eri värinen tila-LED kullekin pankille.

Nyt on aika juottaa kaikki näppäimistön LEDit. Näitä käytetään yksinomaan saadakseen näppäimet hehkumaan, joten voit ohittaa ne, jos haluat, eikä niitä tarvitse liittää digitaaliseen nastaan, vain virtalähteeseen. Kytke kaikki anodit yhteen ja kaikki katodit yhteen. Opi virheestäni - tämä on paljon helpompaa tehdä ennen kytkinten kytkemistä! Liitä anodit +5 V: iin 220 ohmin vastuksen kautta ja katodit maahan. Nämä LEDit on kytketty rinnakkain. Tässä piiri vain näille LEDeille:

Käytä pientä palan kutisteputkea LED -valojen ja Arduinon välisen liitoksen peittämiseen:

Käynnistä Arduino testataksesi, että kaikki LEDit toimivat. Sinun ei tarvitse ladata mitään koodia. Jos jokin LED ei toimi, mene ja tarkista johdotus.

Kytke nyt kytkimet. Nämä on liitettävä 10k vastuksen kautta, muuten Arduino kuolee. Tätä kutsutaan kuolleeksi oikosuluksi - +5 V menee suoraan maahan, ja Arduinostasi jää vain savua (luota minuun, tappoin yhden jo, joten sinun ei tarvitse). Tässä yhden kytkimen piiri:

Tämä piiri on sama kaikille yhdeksälle kytkimelle. Kytke kytkimet digitaalisiin nastoihin kahdesta kymmeneen, jokaisella on oma 10K -vastus maahan. Ole varovainen juottaessasi Cherry MX -kytkimiä, ne voivat olla hieman hauraita, minulla oli useita tappeja rikki. Saatat haluta juottaa nämä suoraan johonkin muuhun stripboard -levyyn, mutta takajohdot ovat silti sopivia.

Siinä se johdotukselle. Voit halutessasi asentaa USB -tyypin B naarasliitännän, mutta niiden pienet nastat voivat usein olla melko vaikeita juottaa. Jos et halua tehdä tätä, älä huoli. Arduinon Micro USB -liitin sopii siististi kotelon reikään. Jos olet hieman hämmentynyt eri USB -tyypeistä, varmista, että olet ymmärtää erot .

Tarkista lopuksi, että piirisi on oikein. Lyhyt voi helposti tuhota Arduinon, ja se voi olla helppo tehdä stripboardin avulla.

Koodi

Testaa nyt, että piiri on oikea. Tämä on hyvä tehdä ennen kuin jatkat, joten voit korjata ongelmat nyt kun voit. Lataa tämä testikoodi (älä unohda valita oikeaa levyä ja porttia Työkalut > Hallitus ja Työkalut > Portti valikot):

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

Sinun on ehkä vaihdettava nastat, jos olet muuttanut piiriä.

Kun olet ladannut, avaa sarjamonitori ( Yläoikea > Sarjamonitori ). Paina kutakin painiketta yksitellen. Sinun pitäisi nähdä sarjamittari näyttävän painamasi painikkeen numeron. Aivan kuten LED -valon kanssa, jos tietokoneesi valittaa liiallisen virran ottamisesta tai LEDit sammuvat, kun painat painiketta, katkaise yhteys välittömästi! Jos jossain piirissä on oikosulku, tarkista, että piiri on oikein ja ettei liitäntöjen välillä ole oikosulkuja.

Jos kaikki toimii, mene eteenpäin ja laita piiri laatikkoon. Voit halutessasi käyttää liimaa pitämään piirin paikallaan (vaikka johdot pitivät minun kunnossa). Kiinnitä myös kansi.

Arduinon näyttäminen näppäimistöltä on hyvin yksinkertaista. Jos käytät Nano- tai UNO-ohjelmaa, aiot ohjelmoida Arduinosi uudelleen käyttämällä Laitteen laiteohjelmistopäivitys (DFU). Tätä käytetään yleensä uusien laiteohjelmistojen väläyttämiseen Arduinolle. Aiot käyttää sitä salamaan Arduinon uudella laiteohjelmistolla, joka saa sen toimimaan näppäimistön tavoin. Tätä ei käsitellä tässä, koska se on melko monimutkainen tehtävä. The 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 yhtä yksinkertaista kuin koodin kirjoittaminen!

Aseta ensin avaimet:

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

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

Taulukko on kokoelma samanhenkisiä asioita. Tietokoneet voivat optimoida koodisi päästäkseen niihin nopeasti ja nopeuttavat koodin kirjoittamista.

Alusta nyt kaikki nastat tuloiksi:

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

Tämä kertoo Arduinolle, että kaikki ryhmän nastat ovat tuloja. Tätä varten käytetään silmukkaa, eikä kirjoittamista pinMode (2, TULO) yhdeksän kertaa, sinun täytyy kirjoittaa se vain kerran. Tämä kutsuu myös Näppäimistö. Alku . Tämä asettaa Arduino -kirjastoon sisäänrakennetun toiminnon, joka on suunniteltu erityisesti näppäimistön emuloimiseksi.

Luo menetelmä nimeltä readButton :

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

Tämä vie nastan ja tarkistaa, onko sitä painettu vai ei. Se yksinkertaisesti palaa TOTTA tai VÄÄRÄ . Se sisältää myös joitain ohjelmiston poistaminen käytöstä -yksinkertainen viive ja sen jälkeen kytkimen uudelleen tarkistaminen varmistaa, että painiketta todella painettiin.

Nyt toinen silmukalle kutsutaan sisälle tyhjä silmukka () :

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

Jälleen tämä menee jokaisen taulukon elementin yli ja tarkistaa, onko sitä painettu. Se tekee tämän nimeltä readButton aiemmin luomaasi menetelmää. Jos painiketta on painettu, se siirtää PIN -numeron toiseen menetelmään, jota kutsutaan 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;
}
}

Tämä tarkistaa pin -numeron käyttämällä a vaihtaa lausunto. Vaihda lausuntoja (joskus kutsutaan kytkinkotelo ) ovat samanlaisia ​​kuin jos lausunnosta, mutta ne ovat hyödyllisiä tarkistettaessa, että yksi asia (tässä tapauksessa PIN -numero) on yhtä kuin yksi useista eri tuloksista. Pohjimmiltaan ne lasketaan paljon nopeammin.

Pääkomponentit ovat tämän kytkinlauseen sisällä. Näppäimistö. Println kirjoittaa tekstiä tietokoneeseen ikään kuin kirjoittaisit jokaisen näppäimen fyysisesti. Näppäimistö. Paina painaa ja pitää yhtä näppäintä painettuna. Älä unohda vapauttaa niitä käyttämällä Keyboard.releaseAll lyhyen viiveen jälkeen!

Lataa ilmainen video mistä tahansa sivustosta verkossa ilmaiseksi

Tässä on koko koodi:

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

Kaikkien numero- ja kirjainnäppäinten lisäksi Arduino voi painaa suurinta osaa kutsutuista erikoisnäppäimistä Näppäimistön muokkaajat . Nämä ovat erityisen hyödyllisiä pikanäppäinten painamisessa. Arduinon verkkosivustolla on hyödyllinen lista .

Nyt ei ole muuta kuin luoda pikakuvakkeita. Voit yhdistää tämän olemassa oleviin pikavalintoihin, kuten Kaikki + F4 (sulje ohjelma Windowsissa) tai Cmd + Q (sulje macOS -ohjelma). Vaihtoehtoisesti voit lukea meidän lopullinen pikanäppäinopas , kuinka luodaan Windowsin pikakuvakkeita ja jokainen Chromebookin pikavalinta aloittaaksesi pikavalintojen tekemisen.

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

Toivomme, että pidät suosittelemistamme ja keskusteltavista kohteista! MUOlla on kumppanuus- ja sponsoroituja kumppanuuksia, joten saamme osan joidenkin ostojesi tuloista. Tämä ei vaikuta maksamaasi hintaan ja auttaa meitä tarjoamaan parhaat tuotesuositukset.

Jaa Jaa Tweet Sähköposti Tästä syystä FBI antoi varoituksen Hive Ransomware -ohjelmasta

FBI antoi varoituksen erityisen ikävästä ransomware -kannasta. Tästä syystä sinun on oltava erityisen varovainen Hive -lunnasohjelmista.

Lue seuraava
Liittyvät aiheet
  • tee-se-itse
  • Näppäimistö
  • Pikanäppäimet
  • Arduino
Kirjailijasta Joe Coburn(136 artikkelia julkaistu)

Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta Iso -Britanniasta. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä droneilla tai kirjoita musiikkia, hänet voidaan usein ottaa valokuvista tai videoista.

Lisää Joe Coburnilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi