Publicitate

Umilul Arduino poate face multe lucruri, dar știai că poate emula o tastatură USB? Puteți combina acele scurtături rapide de la tastatură într-o singură comandă simplă, cu acest simplu circuit. Iată rezultatul final:

Nu ai folosit niciodată un Arduino înainte? Vezi-ne Ghidul începătorului Noțiuni introductive cu Arduino: Ghid pentru începătoriArduino este o platformă de prototipare electronică open-source bazată pe hardware și software flexibile, ușor de utilizat. Este destinat artiștilor, designerilor, pasionaților și oricui este interesat să creeze obiecte sau medii interactive. Citeste mai mult primul.

De ce ai nevoie

Piese de scurtătură Arduino
Iată ce aveți nevoie pentru a realiza acest proiect:

  • 1 x Arduino Pro Micro.
  • Butoane momentane sau butoane de tastatură.
  • Rezistențe de 10K ohm.
  • Firuri asortate.
  • 1 x 220 ohm rezistențe.
  • 1 x 5mm LED (0,197 inch) LED.
  • 1 x suport de 5 mm LED.

Veți avea nevoie de un Arduino foarte specific pentru acest proiect. Folosesc un Pro Micro, deoarece sunt atât de mici și ieftine, aveți nevoie de un Arduino care are USB-Serial încorporat în procesor (Atmega32u4). Este posibil să construiți acest proiect cu alte Arduinos, cum ar fi UNO sau Nano, cu toate acestea, este nevoie de multă muncă grea pentru a relansa bios-ul și pentru a pune lucrurile la punct. Clonele altor modele Arduino nu funcționează deloc, dar o clonă Pro Micro este de asemenea bine.

Placă modulă OSOYOO Pro Micro ATmega32U4 5V / 16MHz cu antet 2 canale pentru header Leonardo Ardino ATmega328 Pro MiniPlacă modulă OSOYOO Pro Micro ATmega32U4 5V / 16MHz cu antet 2 canale pentru header Leonardo Ardino ATmega328 Pro Mini Cumpărați acum pe Amazon $10.99

Veți avea nevoie de un buton momentan, un rezistor de 10K ohm și un fir de conectare adecvat pentru fiecare buton pe care doriți să îl utilizați. De asemenea, folosesc comutatoarele mecanice Cherry MX pentru butoanele de comenzi rapide orice comutatorul va face, cu condiția să fie momentan și nu zăvorâre.

Este posibil să aveți nevoie de câteva alte elemente în funcție de modul în care construiți acest lucru. Dacă doriți să-l prototipizați, veți avea nevoie de placă de pană lipicioasă. Merită să cheltuiți banii pe unul bun - uneori pot fi foarte nesiguri. Dacă doriți să adăugați acest lucru, veți dori să achiziționați câteva stripboard.

Plan de construire

Iată cum va funcționa acest lucru. Arduino va fi programat pentru a acționa ca o tastatură USB - în ceea ce privește computerul dvs. este. Mai multe butoane conectate la Arduino vor trimite comenzi cheie computerului. Vei apăsa un singur buton, dar calculatorul tău va crede că ai apăsat Alt > F4, de exemplu.

Selectarea unui comutator

Arduino Cherry MX

Există mai multe variante de comutatoare din seria MX. Acest site web oferă o introducere excelentă, cu toate acestea, în esență, se reduce la zgomot și presiune. Unele modele necesită mai multă forță pentru a apăsa, iar unele modele sună „click” mecanic atunci când este apăsat. Am folosit Cherry MX Browns, care nu fac zgomot la apăsare. Toate au aceleași dimensiuni, deci alegeți orice model care vă place (sau amestecați și potriviți) fără griji.

De asemenea, va trebui să cumpărați niște capace-cheie și există o lume a modele personalizate acolo să alegem - am cumpărat de la KeyboardCo în U.K.

Cazul

Am imprimat acest caz 3D și îl puteți descărca .stl fișiere din Thingiverse. Nu vă faceți griji dacă nu dețineți o imprimantă 3D, puteți să o construiți încă. Multe site-uri web oferă servicii de imprimare 3D, cum ar fi Hub-uri 3D sau Shapeways. În mod alternativ, acesta este un caz foarte simplu, vă puteți confecționa singur din plasticard, perspex, lemn sau chiar carton. Dacă doriți să fiți cu adevărat prosperabil, Cherry MX vinde un setator de testare / prelevator de setări activat Amazon (Regatul Unit). Veți avea nevoie de 4 șuruburi M5 x 35mm și 4 piulițe M5. Le puteți înlocui desigur pe o alternativă adecvată pe care o aveți.

Tastatură Tastatură Max, Comutator Cherry MX, Set Tester (9 comutatoare Pro Sampler Tester Kit)Tastatură Tastatură Max, Comutator Cherry MX, Set Tester (9 comutatoare Pro Sampler Tester Kit) Cumpărați acum pe Amazon $14.99

Dacă îți creezi propriul carcasă, trebuie să știi un detaliu important: comutatoarele Cherry MX sunt potrivite în orificiile lor de montare. Acestea necesită o gaură de fixare pătrată de 14 x 14 mm (0,55 inci), placa nefiind mai groasă decât 1,5 mm (0,059 inch). Îndepărtați-vă prea mult de aceste dimensiuni și este posibil ca întrerupătoarele dvs. să nu mai se monteze corect.

Scurtă caz
Carcasa tipărită 3D este în două părți, partea superioară și partea inferioară. Împingeți comutatoarele Cherry MX în găurile pătrate:

Comanda rapidă Cherry MX

Asigurați-vă că montați întrerupătoarele în mod corect. Partea de sus are cuvintele „CHERRY”, iar partea inferioară are o mică creștere. Introduceți un LED de 3 mm în acest mic slot:

Comandă rapidă Cherry MX LED

S-ar putea să descoperiți că LED-urile arată cel mai bine montate „în sus”. Acesta a fost cazul pentru tastele pe care le-am folosit și nu afectează deloc comutatoarele.

Acum ar trebui să ai nouă comutatoare cu 9 LED-uri. Nu este necesară lipirea oricăreia dintre aceste părți. Sudura va ține LED-urile, iar fricțiunea va menține întrerupătoarele.

Comanda rapidă Cherry MX All

În continuare, înșurubați suportul pentru LED (lăsați LED-ul îndepărtat deocamdată). După ce veți construi circuitul, veți termina montarea carcasei.

Circuitul

Acest circuit este construit pe stripboard. Acest lucru este excelent pentru construirea de circuite semipermanente, fără costurile unei plăci de circuit de imprimare (PCB). Este pur și simplu o bucată de fibră de sticlă cu șinele de cupru care se desfășoară paralel într-o direcție. Aceste piese pot fi lipite și tăiate. Tăierea unei piste se poate face cu o unealtă specială sau cu un burghiu mic.

Nu prea încrezător la lipire? Aruncă o privire la aceste proiecte simple Aflați cum puteți lipi, cu aceste sfaturi și proiecte simpleEști puțin intimidat de gândul la fier fierbinte și metal topit? Dacă doriți să începeți să lucrați cu electronice, va trebui să învățați să lipiți. Să ne ajutăm. Citeste mai mult primul.

Iată aspectul tabloului de bord (excluzând cablurile de finalizare):

Arduino Shortcut Stripboard

Asigurați-vă că tăiați urmele sub rezistențe și Arduino. Întrucât poate fi foarte dificil să citiți un circuit de tip stripboard, iată o versiune a panoului de bord:

Panou scurt Arduino

Este o formă potrivită pentru a strânge toate componentele într-un spațiu atât de mic. Tăiați colțurile plăcii dvs. după cum urmează:

Shortboard Stripboard

Acest lucru ar trebui să se încadreze perfect în partea de jos a cazului:

Shortcut Stripboard în cutie

Asigurați-vă că piesele rulează vertical.

Conectați anodul (picior lung, pozitiv) a LED-ului la rezistența de 200 ohmi și apoi la +5 V. Conectați catodul (picior scurt, negativ) la pamant. Acoperiți picioarele cu mâneci termocontractibile și apoi împingeți-le în suportul LED. Nu este necesară nicio lipici, cu toate acestea, suportul pentru LED-uri nu poate fi adaptat la împingere, deci trebuie să adaptați aceste instrucțiuni.

LED-ul de stare a comenzii rapide

Poate doriți să utilizați un LED bicolor aici - acest lucru vă va permite să configurați două sau mai multe bănci de comutatoare, cu un LED de stare colorat diferit pentru fiecare bancă.

Acum este timpul să vindeți toate ledurile pentru tastaturi. Acestea sunt utilizate exclusiv pentru a face ca tastele să strălucească, astfel încât să le puteți omite dacă doriți și nu trebuie să fie conectate la un pin digital, doar la putere. Conectați toți anodii împreună și toți catodii împreună. Aflați din greșeala mea - este mult mai ușor să faceți acest lucru înainte de a conecta comutatoarele! Conectați anodii la +5 V cu o rezistență de 220 ohmi și catodii la masă. Aceste LED-uri sunt conectate în paralel. Iată circuitul doar pentru aceste LED-uri:

Circuitul LED-urilor cu buton de comandă rapidă

Folosiți o bucată mică de tub termocontractabil pentru a acoperi conexiunea dintre LED-uri și Arduino:

Comandă scurtă termică LED

Porniți Arduino pentru a testa toate funcționarea LED-urilor. Nu este necesar să încărcați niciun cod. Dacă LED-urile nu funcționează, du-te și verifică-ți cablarea.

Comandă cu LED-uri rapide

Acum conectați întrerupătoarele. Acestea trebuie conectate printr-un rezistor de 10k, altfel Arduino va muri. Acesta este numit un scurt mort - +5 V intră direct în pământ, iar tot ceea ce rămâne din Arduino-ul tău va fi un puf de fum (credeți-mă, am omorât unul deja, așa că nu trebuie.) Iată circuitul pentru un singur comutator:

Circuitul de comenzi rapide Arduino

Acest circuit este același pentru toate cele nouă comutatoare. Conectați comutatoarele la pinii digitali între două și zece, fiecare cu propria rezistență de 10 K la masă. Fiți atenți la lipirea întrerupătoarelor Cherry MX, pot fi puțin fragile, am avut mai mulți pini pe mine. Este posibil să doriți să lipiți direct pe alte plăci de bandă, cu toate că oportunitățile de tracțiune sunt încă potrivite.

Acesta este pentru cablare. Este posibil să doriți să montați o priză USB tip B, cu toate că pinii mici de pe ei pot fi adesea destul de dificili de lipit. Dacă nu doriți să faceți acest lucru, nu vă faceți griji. Conectorul micro USB de pe Arduino se potrivește perfect orificiului din șasiu. Dacă sunteți un pic confuz în legătură cu diferitele tipuri de USB, asigurați-vă că înțelegeți diferențele Înțelegeți tipurile de cablu USB și care dintre ele să utilizațiDe ce există atât de multe tipuri de cablu USB diferite? Aflați diferențele dintre tipurile de conector USB și cum să cumpărați cel mai bun cablu. Citeste mai mult .

În cele din urmă, verificați dacă circuitul dvs. este corect. Un scurt poate distruge cu ușurință un Arduino și poate fi ușor de făcut folosind stripboard.

Codul

Acum testează că circuitul este corect. Este o idee bună să faceți acest lucru înainte de a continua, astfel încât să puteți rezolva orice probleme acum. Încărcați acest cod de testare (nu uitați să selectați placa și portul corect din Unelte > Bord și Unelte > Port meniuri):

butoane const int [] = {2,3,4,5,6,7,8,9,10}; // tabloul tuturor pinilor butonului void setup () {// puneți codul de configurare aici, pentru a rula o singură dată: 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 () {// puneți codul principal aici, pentru a rula în mod repetat: for (int i = 2; i <11; ++ i) {if (digitalRead (i) == HIGH) {// dezactivarea software-ului îmbunătățește întârzierea de precizie (10); if (digitalRead (i) == HIGH) {// verifică comutatoarele Serial.print ("intrare"); Serial.println (i); întârziere (250); } } } }

Este posibil să fie nevoie să schimbați pinii dacă ați modificat circuitul.

Odată încărcat, deschideți monitorul serial (sus în dreapta > Monitor serial). Una câte una, apăsați fiecare buton. Ar trebui să vedeți monitorul serial care arată numărul butonului pe care l-ați apăsat. La fel ca în cazul LED-ului, dacă computerul dvs. se plânge de a trage prea mult curent, sau ledurile se sting când apăsați un buton, deconectați-vă imediat! Aveți un scurt undeva în circuit, verificați dublu că circuitul este corect și nu există scurtături între conexiuni.

Dacă totul funcționează, mergeți mai departe și puneți circuitul în cutie. Poate doriți să folosiți un strat de lipici pentru a ține circuitul în loc (deși firele au ținut mintea în regulă). Strângeți capacul de asemenea.

Pentru a face ca Arduino să pară a fi o tastatură este foarte simplu. Dacă utilizați un Nano sau UNO, veți reprograma Arduino folosind Actualizare firmware pentru dispozitiv (DFU). Acesta este de obicei folosit pentru a flash nou firmware pentru Arduino. Îl veți folosi pentru a flash Arduino cu un nou firmware care îl va face să funcționeze ca o tastatură. Aceasta nu va fi abordată aici, deoarece este o sarcină destul de complexă. Site-ul Arduino are un tutorial bun pentru asta.

Arduino Pro Micro face acest pas foarte ușor. Logica necesară pentru a emula o tastatură USB este deja integrată în procesor, deci este la fel de simplă precum scrierea unui cod!

În primul rând, setați tastele:

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

Acesta este un tablou care conține toți pinii cu care sunt conectate butoanele. Dacă ați utilizat mai multe sau mai puține butoane sau ați utilizat ace diferite, schimbați valorile aici.

Un tablou este o colecție de lucruri asemănătoare. Calculatoarele vă pot optimiza codul pentru a le accesa rapid și grăbesc procesul de scriere a codurilor.

Acum inițializați toți pinii ca intrări:

void setup () {// puneți codul de configurare aici, pentru a rula o singură dată: Keyboard.begin (); // tastatura de configurare pentru (int i = 2; i <11; ++ i) {// inițiați pinii pinMode (i, INPUT); } }

Acest lucru îi spune lui Arduino că toate pinii din tablă sunt intrări. O buclă este folosită pentru a face acest lucru, mai degrabă decât pentru a scrie pinMode (2, INPUT) de nouă ori, nu trebuie decât să o scrii o singură dată. Acest lucru apelează, de asemenea Keyboard.begin. Aceasta setează o funcție încorporată în biblioteca Arduino, concepută special pentru a emula o tastatură.

Creați o metodă numită readButton:

boolean readButton (pinul int) {// butoanele de verificare și decontare dacă (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} returnare falsă; }

Aceasta ia un ac și verifică dacă a fost apăsat sau nu. Pur și simplu se întoarce ADEVĂRAT sau FALS. De asemenea, conține unele dezbateri software - o întârziere simplă și re-verificarea comutatorului asigură că butonul a fost într-adevăr apăsat.

Acum, o altă pentru buclă este numită în interior nul buclă ():

void loop () {// puneți codul principal aici, pentru a rula în mod repetat: for (int i = 2; i <11; ++ i) {// butoane de verificare dacă (readButton (i)) {doAction (i); } } }

Din nou, aceasta trece peste fiecare element din tablou și verifică dacă a fost apăsat. Face acest lucru prin apelarea readButton metodă pe care ai creat-o mai devreme. Dacă a fost apăsat un buton, trece numărul respectivului pin la o altă metodă numită doAction:

void doAction (int pin) {// efectuați comutarea sarcinilor (pin) {cazul 2: Keyboard.println ("drive.google.com"); pauză; cazul 3: Keyboard.println ("makeuseof.com"); pauză; cazul 4: // CMD + T (fila nouă, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 't'); întârziere (100); Keyboard.releaseAll (); pauză; cazul 5: // sarcina ta aici se rupe; cazul 6: // sarcina ta aici se rupe; cazul 7: // sarcina ta aici se rupe; cazul 8: // sarcina ta aici se rupe; cazul 9: // sarcina ta aici se rupe; } }

Aceasta verifică numărul pinului folosind a intrerupator afirmație. Comutați instrucțiuni (numite uneori carcasă de comutare) sunt similare cu an dacă declarație, cu toate acestea sunt utile pentru a verifica dacă un lucru (în acest caz numărul de pin) este egal cu unul dintre mai multe rezultate diferite. În esență, sunt mult mai rapide de calculat.

Componentele principale se află în această declarație de comutare. Keyboard.println scrie text pe computer ca și cum ai tasta fizic fiecare cheie. Keyboard.press apasă și ține o singură tastă. Nu uitați să le eliberați folosind Keyboard.releaseAll după o scurtă întârziere!

Iată codul complet:

tastele int [] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup () {// puneți codul de configurare aici, pentru a rula o singură dată: Keyboard.begin (); // tastatura de configurare pentru (int i = 2; i <11; ++ i) {// inițiați pinii pinMode (i, INPUT); } } void loop () {// puneți codul principal aici, pentru a rula în mod repetat: for (int i = 2; i <11; ++ i) {// butoane de verificare dacă (readButton (i)) {doAction (i); } } } boolean readButton (pin int) {// butoane de verificare și decontare dacă (digitalRead (pin) == HIGH) {delay (10); if (digitalRead (pin) == HIGH) {return true; }} returnare falsă; } void doAction (int pin) {// efectuați task switch (pin) {case 2: Keyboard.println ("drive.google.com"); pauză; cazul 3: Keyboard.println ("makeuseof.com"); pauză; cazul 4: // CMD + T (fila nouă, Chrome) Keyboard.press (KEY_LEFT_GUI); Keyboard.press ( 't'); întârziere (100); Keyboard.releaseAll (); pauză; cazul 5: // sarcina ta aici se rupe; cazul 6: // sarcina ta aici se rupe; cazul 7: // sarcina ta aici se rupe; cazul 8: // sarcina ta aici se rupe; cazul 9: // sarcina ta aici se rupe; } }

În plus față de toate tastele numerice și litere, Arduino poate apărea majoritatea tastelor speciale numite Modificatori pentru tastatură. Acestea sunt utile în special pentru apăsarea comenzilor rapide de la tastatură. Site-ul Arduino are un listă utilă.

Acum, nu ne mai rămâne decât să creăm scurtături. Puteți asocia acest lucru către comenzile rapide, cum ar fi Alt + F4 (închideți programul în Windows) sau Cmd + Q (renunțați la macOS-ul programului). Alternativ, asigurați-vă că ne citiți Ghid de scurtare a tastaturii Comenzile rapide de la tastatură Windows 101: Ghidul finalComenzile rapide de la tastatură vă pot economisi ore în timp. Stăpânește comenzile universale pentru tastatură Windows, trucuri de tastatură pentru anumite programe și alte câteva sfaturi pentru a-ți grăbi munca. Citeste mai mult , cum să creați comenzi rapide pentru Windows Cum se creează comenzi rapide pentru desktopul WindowsComenzile rapide de la desktop pot să vă salveze setarea fără minte prin meniuri și foldere. Vă prezentăm modalități rapide și ușoare de a le crea. Citeste mai mult , și fiecare comandă rapidă Chromebook Fiecare comandă rapidă a tastaturii Chromebook de care veți avea vreodată nevoieMaster Chrome OS cu această listă a fiecărei comenzi importante de tastatură Chromebook de care ai nevoie vreodată. Citeste mai mult pentru a începe să vă faceți scurtături.

Ți-ai creat propria casetă rapidă? Lasă-mă să știu în comentarii, mi-ar plăcea să văd câteva poze!

Joe este absolvent în informatică de la Universitatea din Lincoln, Marea Britanie. Este un dezvoltator de software profesionist, iar atunci când nu zboară drone sau scrie muzică, poate fi găsit adesea făcând fotografii sau producând videoclipuri.