Crea i tuoi pulsanti di scelta rapida personalizzati con un Arduino

L'umile Arduino può fare un sacco di cose, ma lo sapevate che può emulare una tastiera USB? È possibile combinare scorciatoie da tastiera lunghe in un unico tasto di scelta rapida personalizzato, con questo semplice circuito.

L'umile Arduino può fare un sacco di cose, ma lo sapevate che può emulare una tastiera USB?  È possibile combinare scorciatoie da tastiera lunghe in un unico tasto di scelta rapida personalizzato, con questo semplice circuito.
Annuncio pubblicitario

L'umile Arduino può fare un sacco di cose, ma lo sapevate che può emulare una tastiera USB? È possibile combinare quelle scorciatoie da tastiera lunghe e difficili da ricordare in un unico tasto di scelta rapida personalizzato, con questo semplice circuito. Ecco il risultato finale:

Non hai mai usato un Arduino prima? Scopri la nostra guida introduttiva Guida introduttiva ad Arduino: Guida per principianti Guida introduttiva ad Arduino: Guida per principianti Arduino è una piattaforma di prototipazione elettronica open source basata su hardware e software flessibili e facili da usare. È pensato per artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Per saperne di più prima.

Quello che ti serve

Parti di scelta rapida Arduino
Ecco di cosa hai bisogno per realizzare questo progetto:

  • 1 x Arduino Pro Micro.
  • Pulsanti momentanei o pulsanti della tastiera.
  • Resistori da 10K ohm.
  • Fili di collegamento assortiti.
  • 1 x 220 ohm resistori.
  • 1 LED da 5 mm (0, 197 pollici).
  • 1 supporto LED da 5 mm.

Avrai bisogno di un Arduino molto specifico per questo progetto. Sto usando un Pro Micro, dato che sono così piccoli ed economici, serve un Arduino con USB-Serial integrato nel processore (Atmega32u4). È possibile costruire questo progetto con altri Arduino, come UNO o Nano, tuttavia richiede molto lavoro per re-flashare il bios e giocherellare per far funzionare le cose. I cloni di altri modelli Arduino di solito non funzionano affatto, ma va bene anche un clone Pro Micro.

Scheda del modulo OSOYOO Pro Micro ATmega32U4 5V / 16MHz con intestazione pin 2 righe per arduino Leonardo Sostituisci scheda del modulo ATmega328 Pro Mini OSOYOO Pro Micro ATmega32U4 5V / 16MHz con intestazione pin 2 righe per arduino Leonardo Sostituisci ATmega328 Pro Mini Acquista ora Amazon $ 8.99

Sarà necessario un pulsante momentaneo, un resistore da 10 K ohm e un cavo di collegamento appropriato per ciascun pulsante che si desidera utilizzare. Sto usando gli interruttori della tastiera meccanica Cherry MX per i pulsanti di scelta rapida effettivi, anche se qualsiasi interruttore lo farà, a condizione che sia momentaneo e non a scatto.

Potresti aver bisogno di qualche altro elemento a seconda di come lo costruisci. Se vuoi prototiparlo, avrai bisogno di una breadboard senza saldatura. Vale la pena spendere i soldi per uno buono - a volte possono essere molto inaffidabili. Se vuoi inscatolare questo, vorrete acquistare alcuni stripboard.

Piano di costruzione

Ecco come funzionerà. L'Arduino sarà programmato per funzionare come una tastiera USB: per quanto riguarda il tuo computer, lo è. Diversi pulsanti collegati ad Arduino invieranno comandi chiave al tuo computer. Premerai solo un pulsante, ma il tuo computer penserà che tu abbia premuto Alt > F4, ad esempio.

Selezione di un interruttore

Arduino Cherry MX

Esistono diverse varianti degli interruttori della serie MX. Questo sito Web offre un'introduzione eccellente, tuttavia in sostanza si riducono al rumore e alla pressione. Alcuni modelli richiedono più forza per premere e alcuni modelli emettono un suono "click" meccanico quando vengono premuti. Ho usato Cherry MX Browns, che non fanno rumore se premuto. Sono tutte delle stesse dimensioni, quindi scegli qualsiasi modello che ti piace (o mischia e combina) senza preoccuparti.

Avrai anche bisogno di acquistare alcuni tappi chiave, ovviamente, e c'è un mondo di design personalizzati là fuori da scegliere - abbiamo acquistato da KeyboardCo nel Regno Unito

Il caso

Ho stampato in 3D questo caso e puoi scaricare i file .STL da Thingiverse. Non preoccuparti se non possiedi una stampante 3D, puoi comunque costruirla. Molti siti Web offrono servizi di stampa 3D, come 3D Hub o Shapeways. In alternativa, questo è un caso molto semplice, si potrebbe fare il proprio da plasticard, perspex, legno o persino cartone. Se vuoi essere davvero parsimonioso, Cherry MX vende un set tester / campionatore di switch su Amazon (Regno Unito). Avrete bisogno di 4 bulloni M5 x 35mm e 4 dadi M5. Ovviamente puoi sostituirli con un'alternativa adatta a te.

Tastiera Max Keycap, Cherry MX Switch, O-Ring Pro Tester Kit Tester Max Tastiera Keycap, Cherry MX Switch, O-Ring Pro Sampler Tester Kit Acquista ora su Amazon $ 19, 99

Se stai facendo il tuo caso, c'è un dettaglio importante che devi sapere: gli interruttori Cherry MX sono inseriti a pressione nei loro fori di montaggio. Richiedono un foro di montaggio quadrato da 14 x 14 mm (0, 551 pollici), con una piastra non più spessa di 1, 5 mm (0, 059 pollici). Razza troppo lontana da queste dimensioni e gli interruttori potrebbero non essere montati correttamente.

Caso di scelta rapida
La custodia stampata in 3D è divisa in due parti, quella superiore e quella inferiore. Spingere gli interruttori Cherry MX nei fori quadrati:

Collegamento Cherry MX Mount

Assicurati di montare gli interruttori nel modo corretto. La parte superiore ha le parole "CHERRY" e la parte inferiore ha una piccola tacca. Inserisci un LED da 3 mm in questo piccolo slot:

Collegamento Cherry MX LED

Potresti scoprire che i LED sembrano meglio montati "capovolti". Questo è stato il caso per i keycap che ho usato, e non ha alcun impatto sugli switch.

Ora dovresti avere nove interruttori con 9 LED. Non è necessario incollare nessuna di queste parti. La saldatrice manterrà i LED e l'attrito manterrà gli interruttori.

Scorciatoia Cherry MX All

Quindi, avvitare il supporto LED (lasciare il LED rimosso per ora). Finirai di assemblare il caso più tardi, una volta costruito il circuito.

Il circuito

Questo circuito è costruito su stripboard. Questo è eccellente per la costruzione di circuiti semi-permanenti, senza il costo di un circuito stampato (PCB). È semplicemente un pezzo di fibra di vetro con piste di rame che corrono parallele in una direzione. Queste tracce possono essere saldate e tagliate. Tagliare una traccia può essere fatto con uno strumento speciale o una piccola punta da trapano.

Non sei troppo sicuro della saldatura? Dai un'occhiata a questi semplici progetti Scopri come saldare, con questi semplici suggerimenti e progetti Impara come saldare, con questi semplici consigli e progetti Sei un po 'intimidito dal pensiero di un ferro caldo e di metallo fuso? Se vuoi iniziare a lavorare con l'elettronica, avrai bisogno di imparare a saldare. Lasciaci aiutare. Per saperne di più prima.

Ecco il layout di stripboard (esclusi i lead di trascinamento):

Stripboard Arduino Shortcut

Assicurati di tagliare le tracce sotto le resistenze e l'Arduino. Poiché può essere molto difficile leggere un circuito stripboard, ecco una versione breadboard:

Arduino Shortcut Breadboard

È una soluzione perfetta per spremere tutti i componenti in uno spazio così piccolo. Taglia gli angoli della tua stripboard come segue:

Tastiera di scelta rapida

Questo dovrebbe adattarsi perfettamente al fondo del caso:

Tastiera di scelta rapida in scatola

Assicurati che le tracce stiano correndo verticalmente.

Collegare l'anodo ( gamba lunga, positivo ) del LED alla resistenza da 200 ohm e quindi a +5 V. Collegare il catodo ( gamba corta, negativo ) a terra. Coprire le gambe con guaina termorestringente e quindi spingere nel supporto LED. Non è necessario alcun tipo di colla, tuttavia il supporto per LED potrebbe non essere inserito a pressione, quindi potrebbe essere necessario adattare queste istruzioni.

LED di stato collegamento

Potresti voler usare qui un LED bicolore - questo ti permetterà di impostare due o più banchi di interruttori, con un LED di stato colorato diverso per ogni banco.

Ora è il momento di saldare tutti i LED per i keycaps. Questi sono usati solo per far brillare i tasti, quindi puoi saltarli se vuoi, e non devono essere collegati a un pin digitale, solo energia. Collegare tutti gli anodi insieme e tutti i catodi insieme. Impara dal mio errore: è molto più facile farlo prima di collegare gli interruttori! Collegare gli anodi a +5 V mediante un resistore da 220 ohm e i catodi a terra. Questi LED sono cablati in parallelo. Ecco il circuito solo per questi LED:

Circuito LED pulsanti di scelta rapida

Utilizzare un piccolo pezzo di guaina termorestringente per coprire la connessione tra i LED e Arduino:

Collegamento rapido Termorestringente

Accendi l'Arduino per testare tutti i LED funzionanti. Non è necessario caricare alcun codice. Se alcuni LED non funzionano, vai a controllare due volte il tuo cablaggio.

Test LED di scelta rapida

Ora cablare gli interruttori. Questi devono essere collegati tramite un resistore da 10k, altrimenti l'Arduino morirà. Questo è chiamato un corto morto - +5 V va direttamente nel terreno, e tutto ciò che rimane del tuo Arduino sarà una boccata di fumo (credimi, ne ho già ucciso uno in modo da non doverlo fare). Ecco il circuito per un interruttore:

Arduino Shortcut Circuit

Questo circuito è lo stesso per tutti e nove gli interruttori. Collegare gli interruttori ai pin digitali da due a dieci, ciascuno con la propria resistenza da 10K a terra. Fai attenzione agli interruttori Cherry MX di saldatura, possono essere un po 'fragili, ho avuto diversi spilli su di me. Si consiglia di saldarli direttamente ad altri stripboard, tuttavia i cavi di trascinamento sono ancora adatti.

Questo è tutto per il cablaggio. Si potrebbe desiderare di montare una presa USB tipo B, tuttavia i piccoli pin su di essi possono essere spesso difficili da saldare. Se non desideri farlo, non preoccuparti. Il connettore Micro USB di Arduino si adatta perfettamente al foro nel telaio. Se sei un po 'confuso riguardo ai diversi tipi di USB, assicurati di aver compreso le differenze Informazioni sui tipi di cavo USB e su quale utilizzare Informazioni sui tipi di cavo USB e su quale utilizzare Il mondo dei cavi USB può essere un po' confuso perché ci sono così molti tipi di connettori diversi. Ecco tutto ciò che devi sapere per non essere più confuso. Leggi di più .

Infine, controlla che il tuo circuito sia corretto. Un cortometraggio può facilmente distruggere un Arduino, e può essere facile da fare usando lo stripboard.

Il codice

Ora prova che il circuito sia corretto. È una buona idea farlo prima di procedere, in modo da poter risolvere eventuali problemi ora mentre è possibile. Carica questo codice di prova (non dimenticare di selezionare la scheda e la porta corrette da Strumenti > Schede e Strumenti > Menu porta ):

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

Potrebbe essere necessario cambiare i pin se hai modificato il circuito.

Una volta caricato, apri il monitor seriale (in alto a destra > Monitor seriale ). Uno alla volta, premere ciascun pulsante. Dovresti vedere il monitor seriale mostrare il numero del pulsante premuto. Proprio come con il LED, se il tuo computer si lamenta di trarre troppa corrente o se i LED si spengono quando premi un pulsante, scollegati immediatamente! Hai un breve da qualche parte nel circuito, controlla due volte il circuito è corretto e non ci sono cortocircuiti tra le connessioni.

Se tutto funziona, vai avanti e metti il ​​circuito nella scatola. Si consiglia di utilizzare una piccola quantità di colla per tenere il circuito in posizione (anche se i fili hanno tenuto il mio bene). Bolt il coperchio pure.

Far sembrare che Arduino sia una tastiera è molto semplice. Se stai usando un Nano o UNO, stai riprogrammando il tuo Arduino usando l' Aggiornamento Firmware del Dispositivo (DFU). Questo è solitamente usato per aggiornare il nuovo firmware su Arduino. Lo userai per far lampeggiare Arduino con un nuovo firmware che lo farà funzionare come una tastiera. Questo non sarà coperto qui, in quanto è un compito abbastanza complesso. Il sito Web di Arduino ha un buon tutorial per questo.

Arduino Pro Micro rende questo passaggio molto semplice. La logica necessaria per emulare una tastiera USB è già integrata nel processore, quindi è semplice come scrivere del codice!

Innanzitutto, imposta le chiavi:

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

Questo è un array che contiene tutti i pin ai quali sono collegati i pulsanti. Se hai usato più o meno pulsanti o usato pin diversi, modifica qui i valori.

Un array è un insieme di cose che la pensano allo stesso modo. I computer possono ottimizzare il tuo codice per accedervi rapidamente e accelerare il processo di scrittura del codice.

Ora inizializza tutti i pin come input:

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

Questo dice all'arduino che tutti i pin dell'array sono input. Un loop è usato per fare questo, quindi piuttosto che scrivere pinMode (2, INPUT) nove volte, devi solo scriverlo una volta. Questo chiama anche Keyboard.begin . Questo imposta una funzione integrata nella libreria Arduino, progettata appositamente per emulare una tastiera.

Creare un metodo chiamato readButton :

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

Questo prende un pin e controlla se è stato premuto o meno. Restituisce semplicemente VERO o FALSO . Contiene anche alcuni debouncing del software : un semplice ritardo e quindi ricontrollare l'interruttore assicura che il pulsante sia stato effettivamente premuto.

Ora un altro ciclo for è chiamato in 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); } } } 

Di nuovo, questo controlla ogni elemento dell'array e controlla se è stato premuto. Fa ciò chiamando il metodo readButton creato in precedenza. Se un pulsante è stato premuto, passa quel numero pin a un altro metodo chiamato 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; } } 

Questo controlla il numero del pin usando un'istruzione switch . Le istruzioni switch (a volte chiamate switch case ) sono simili a un'istruzione if, tuttavia sono utili per verificare che una cosa (in questo caso il numero pin) sia uguale a uno dei diversi risultati. Essenzialmente, sono molto più veloci da calcolare.

I componenti principali sono all'interno di questa istruzione switch. Keyboard.println scrive il testo sul computer come se si digitasse fisicamente ogni tasto. Keyboard.press preme e tiene premuto un tasto. Non dimenticare di rilasciarli utilizzando Keyboard.releaseAll dopo un breve ritardo!

Ecco il codice completo:

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

Oltre a tutti i tasti numerici e lettere, Arduino può premere la maggior parte dei tasti speciali chiamati Modificatori di tastiera . Questi sono particolarmente utili per la pressione delle scorciatoie da tastiera. Il sito Web di Arduino ha un elenco utile.

Ora non resta che creare alcune scorciatoie. È possibile mappare ciò alle scorciatoie esistenti, come Alt + F4 (chiudi programma in Windows) o Cmd + Q (chiudi programma macOS). In alternativa, assicurati di leggere la nostra guida definitiva per scorciatoie da tastiera. Scorciatoie da tastiera di Windows 101: The Ultimate Guide Scorciatoie da tastiera di Windows 101: The Ultimate Guide Le scorciatoie da tastiera ti possono far risparmiare ore di tempo. Domina le scorciatoie da tastiera universali di Windows, i trucchi da tastiera per programmi specifici e alcuni altri suggerimenti per velocizzare il tuo lavoro. Per saperne di più, come creare scorciatoie per Windows Come creare scorciatoie per il desktop di Windows in modo semplice Come creare scorciatoie per il desktop di Windows in modo semplice Le scorciatoie del desktop Smart consentono di risparmiare l'inutile setacciamento di menu e cartelle. Vi mostriamo modi semplici e veloci per crearli. Ulteriori informazioni e tutti i collegamenti ai Chromebook Ecco tutti i collegamenti ai Chromebook di cui avrai mai bisogno Ecco tutti i collegamenti ai Chromebook di cui avrai mai bisogno Stai cercando un elenco principale di scorciatoie da tastiera per il tuo Chromebook? Ecco tutte le combinazioni di tasti di cui avrai bisogno per Chrome OS! Leggi di più per iniziare a creare le tue scorciatoie.

Hai creato la tua casella di scelta rapida? Fatemi sapere nei commenti, mi piacerebbe vedere qualche foto!

In this article